PluginProbe
Elementor Website Builder – more than just a page builder / 4.0.0-dev4
Elementor Website Builder – more than just a page builder v4.0.0-dev4
4.3.2 4.3.1 4.3.0 4.3.0-beta3 4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 4.1.0-beta2 4.1.0-dev2 All 455 releases
← All changes | assets/js/packages/editor-components/editor-components.js +2 -5752 4.2.0-beta2 → 4.0.0-dev4 View file →
@@ -1,5753 +1,3 @@
1 -/******/ (function() { // webpackBootstrap
2 -/******/ "use strict";
3 -/******/ var __webpack_modules__ = ({
4 -
5 -/***/ "./packages/packages/core/editor-components/src/api.ts":
6 -/*!*************************************************************!*\
7 - !*** ./packages/packages/core/editor-components/src/api.ts ***!
8 - \*************************************************************/
9 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
10 -
11 -__webpack_require__.r(__webpack_exports__);
12 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
13 -/* harmony export */ apiClient: function() { return /* binding */ apiClient; },
14 -/* harmony export */ getParams: function() { return /* binding */ getParams; }
15 -/* harmony export */ });
16 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-v1-adapters */ "@elementor/editor-v1-adapters");
17 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__);
18 -/* harmony import */ var _elementor_http_client__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/http-client */ "@elementor/http-client");
19 -/* harmony import */ var _elementor_http_client__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_http_client__WEBPACK_IMPORTED_MODULE_1__);
20 -
21 -
22 -const BASE_URL = 'elementor/v1/components';
23 -const getParams = id => ({
24 - action: 'get_document_config',
25 - unique_id: `document-config-${id}`,
26 - data: {
27 - id
28 - }
29 -});
30 -const apiClient = {
31 - get: () => (0,_elementor_http_client__WEBPACK_IMPORTED_MODULE_1__.httpService)().get(`${BASE_URL}`).then(res => res.data.data),
32 - create: payload => (0,_elementor_http_client__WEBPACK_IMPORTED_MODULE_1__.httpService)().post(`${BASE_URL}`, payload).then(res => res.data.data),
33 - updateStatuses: (ids, status) => (0,_elementor_http_client__WEBPACK_IMPORTED_MODULE_1__.httpService)().put(`${BASE_URL}/status`, {
34 - ids,
35 - status
36 - }),
37 - getComponentConfig: id => _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.ajax.load(getParams(id)),
38 - invalidateComponentConfigCache: id => _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.ajax.invalidateCache(getParams(id)),
39 - getComponentLockStatus: async componentId => await (0,_elementor_http_client__WEBPACK_IMPORTED_MODULE_1__.httpService)().get(`${BASE_URL}/lock-status`, {
40 - params: {
41 - componentId
42 - }
43 - }).then(res => {
44 - const {
45 - is_current_user_allow_to_edit: isAllowedToSwitchDocument,
46 - locked_by: lockedBy
47 - } = res.data.data;
48 - return {
49 - isAllowedToSwitchDocument,
50 - lockedBy: lockedBy || ''
51 - };
52 - }),
53 - lockComponent: async componentId => await (0,_elementor_http_client__WEBPACK_IMPORTED_MODULE_1__.httpService)().post(`${BASE_URL}/lock`, {
54 - componentId
55 - }).then(res => res.data),
56 - unlockComponent: async componentId => await (0,_elementor_http_client__WEBPACK_IMPORTED_MODULE_1__.httpService)().post(`${BASE_URL}/unlock`, {
57 - componentId
58 - }).then(res => res.data),
59 - getOverridableProps: async componentIds => await (0,_elementor_http_client__WEBPACK_IMPORTED_MODULE_1__.httpService)().get(`${BASE_URL}/overridable-props`, {
60 - params: {
61 - 'componentIds[]': componentIds
62 - }
63 - }).then(res => res.data),
64 - updateArchivedComponents: async (componentIds, status) => await (0,_elementor_http_client__WEBPACK_IMPORTED_MODULE_1__.httpService)().post(`${BASE_URL}/archive`, {
65 - componentIds,
66 - status
67 - }).then(res => res.data.data),
68 - updateComponentTitle: (updatedComponentNames, status) => (0,_elementor_http_client__WEBPACK_IMPORTED_MODULE_1__.httpService)().post(`${BASE_URL}/update-titles`, {
69 - components: updatedComponentNames,
70 - status
71 - }).then(res => res.data.data),
72 - validate: async payload => await (0,_elementor_http_client__WEBPACK_IMPORTED_MODULE_1__.httpService)().post(`${BASE_URL}/create-validate`, payload).then(res => res.data)
73 -};
74 -
75 -/***/ }),
76 -
77 -/***/ "./packages/packages/core/editor-components/src/component-instance-transformer.ts":
78 -/*!****************************************************************************************!*\
79 - !*** ./packages/packages/core/editor-components/src/component-instance-transformer.ts ***!
80 - \****************************************************************************************/
81 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
82 -
83 -__webpack_require__.r(__webpack_exports__);
84 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
85 -/* harmony export */ componentInstanceTransformer: function() { return /* binding */ componentInstanceTransformer; }
86 -/* harmony export */ });
87 -/* harmony import */ var _elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-canvas */ "@elementor/editor-canvas");
88 -/* harmony import */ var _elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_0__);
89 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/store */ "@elementor/store");
90 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_store__WEBPACK_IMPORTED_MODULE_1__);
91 -/* harmony import */ var _store_store__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./store/store */ "./packages/packages/core/editor-components/src/store/store.ts");
92 -/* harmony import */ var _utils_component_document_data__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils/component-document-data */ "./packages/packages/core/editor-components/src/utils/component-document-data.ts");
93 -
94 -
95 -
96 -
97 -const componentInstanceTransformer = (0,_elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_0__.createTransformer)(async ({
98 - component_id: id,
99 - overrides: overridesValue
100 -}) => {
101 - const unpublishedComponents = (0,_store_store__WEBPACK_IMPORTED_MODULE_2__.selectUnpublishedComponents)((0,_elementor_store__WEBPACK_IMPORTED_MODULE_1__.__getState)());
102 - const unpublishedComponent = unpublishedComponents.find(({
103 - uid
104 - }) => uid === id);
105 - const overrides = overridesValue?.reduce((acc, override) => ({
106 - ...acc,
107 - ...override
108 - }), {});
109 - if (unpublishedComponent) {
110 - return {
111 - elements: structuredClone(unpublishedComponent.elements),
112 - overrides
113 - };
114 - }
115 - if (typeof id !== 'number') {
116 - throw new Error(`Component ID "${id}" not valid.`);
117 - }
118 - const data = await (0,_utils_component_document_data__WEBPACK_IMPORTED_MODULE_3__.getComponentDocumentData)(id);
119 - return {
120 - elements: data?.elements ?? [],
121 - overrides
122 - };
123 -});
124 -
125 -/***/ }),
126 -
127 -/***/ "./packages/packages/core/editor-components/src/component-overridable-transformer.ts":
128 -/*!*******************************************************************************************!*\
129 - !*** ./packages/packages/core/editor-components/src/component-overridable-transformer.ts ***!
130 - \*******************************************************************************************/
131 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
132 -
133 -__webpack_require__.r(__webpack_exports__);
134 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
135 -/* harmony export */ componentOverridableTransformer: function() { return /* binding */ componentOverridableTransformer; }
136 -/* harmony export */ });
137 -/* harmony import */ var _elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-canvas */ "@elementor/editor-canvas");
138 -/* harmony import */ var _elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_0__);
139 -
140 -const componentOverridableTransformer = (0,_elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_0__.createTransformer)((value, options) => {
141 - const {
142 - overrides
143 - } = options.renderContext ?? {};
144 - const overrideValue = overrides?.[value.override_key];
145 - if (overrideValue) {
146 - const isOverride = isOriginValueOverride(value.origin_value);
147 - if (isOverride) {
148 - return transformOverride(value, options, overrideValue);
149 - }
150 - return overrideValue;
151 - }
152 - return value.origin_value;
153 -});
154 -function transformOverride(value, options, overrideValue) {
155 - const transformer = _elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_0__.settingsTransformersRegistry.get('override');
156 - if (!transformer) {
157 - return null;
158 - }
159 - const transformedValue = transformer(value.origin_value.value, options);
160 - if (!transformedValue) {
161 - return null;
162 - }
163 - const [key] = Object.keys(transformedValue);
164 - return {
165 - [key]: overrideValue
166 - };
167 -}
168 -function isOriginValueOverride(originValue) {
169 - return originValue.$$type === 'override';
170 -}
171 -
172 -/***/ }),
173 -
174 -/***/ "./packages/packages/core/editor-components/src/component-override-transformer.ts":
175 -/*!****************************************************************************************!*\
176 - !*** ./packages/packages/core/editor-components/src/component-override-transformer.ts ***!
177 - \****************************************************************************************/
178 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
179 -
180 -__webpack_require__.r(__webpack_exports__);
181 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
182 -/* harmony export */ componentOverrideTransformer: function() { return /* binding */ componentOverrideTransformer; }
183 -/* harmony export */ });
184 -/* harmony import */ var _elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-canvas */ "@elementor/editor-canvas");
185 -/* harmony import */ var _elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_0__);
186 -
187 -const componentOverrideTransformer = (0,_elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_0__.createTransformer)(override => {
188 - const {
189 - override_key: key,
190 - override_value: overrideValue
191 - } = override;
192 - return {
193 - [key]: overrideValue
194 - };
195 -});
196 -
197 -/***/ }),
198 -
199 -/***/ "./packages/packages/core/editor-components/src/components/components-tab/component-search.tsx":
200 -/*!*****************************************************************************************************!*\
201 - !*** ./packages/packages/core/editor-components/src/components/components-tab/component-search.tsx ***!
202 - \*****************************************************************************************************/
203 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
204 -
205 -__webpack_require__.r(__webpack_exports__);
206 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
207 -/* harmony export */ ComponentSearch: function() { return /* binding */ ComponentSearch; }
208 -/* harmony export */ });
209 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
210 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
211 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
212 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_icons__WEBPACK_IMPORTED_MODULE_1__);
213 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
214 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__);
215 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
216 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__);
217 -/* harmony import */ var _search_provider__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./search-provider */ "./packages/packages/core/editor-components/src/components/components-tab/search-provider.tsx");
218 -
219 -
220 -
221 -
222 -
223 -const ComponentSearch = () => {
224 - const {
225 - inputValue,
226 - handleChange
227 - } = (0,_search_provider__WEBPACK_IMPORTED_MODULE_4__.useSearch)();
228 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Stack, {
229 - direction: "row",
230 - gap: 0.5,
231 - sx: {
232 - width: '100%',
233 - px: 2,
234 - py: 1.5
235 - }
236 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Box, {
237 - sx: {
238 - flexGrow: 1
239 - }
240 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.TextField, {
241 - role: 'search',
242 - fullWidth: true,
243 - size: 'tiny',
244 - value: inputValue,
245 - placeholder: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Search', 'elementor'),
246 - onChange: e => handleChange(e.target.value),
247 - InputProps: {
248 - startAdornment: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.InputAdornment, {
249 - position: "start"
250 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_icons__WEBPACK_IMPORTED_MODULE_1__.SearchIcon, {
251 - fontSize: 'tiny'
252 - }))
253 - }
254 - })));
255 -};
256 -
257 -/***/ }),
258 -
259 -/***/ "./packages/packages/core/editor-components/src/components/components-tab/components-item.tsx":
260 -/*!****************************************************************************************************!*\
261 - !*** ./packages/packages/core/editor-components/src/components/components-tab/components-item.tsx ***!
262 - \****************************************************************************************************/
263 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
264 -
265 -__webpack_require__.r(__webpack_exports__);
266 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
267 -/* harmony export */ ComponentItem: function() { return /* binding */ ComponentItem; },
268 -/* harmony export */ ComponentName: function() { return /* binding */ ComponentName; }
269 -/* harmony export */ });
270 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
271 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
272 -/* harmony import */ var _elementor_editor_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/editor-ui */ "@elementor/editor-ui");
273 -/* harmony import */ var _elementor_editor_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_ui__WEBPACK_IMPORTED_MODULE_1__);
274 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
275 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_icons__WEBPACK_IMPORTED_MODULE_2__);
276 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
277 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__);
278 -function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
279 -
280 -
281 -
282 -
283 -
284 -const ComponentItem = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(({
285 - component,
286 - disabled = true,
287 - draggable,
288 - onDragStart,
289 - onDragEnd,
290 - onClick,
291 - isEditing = false,
292 - error = null,
293 - nameSlot,
294 - endSlot,
295 - ...props
296 -}, ref) => {
297 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__.ListItemButton, _extends({
298 - disabled: disabled,
299 - draggable: draggable,
300 - onDragStart: onDragStart,
301 - onDragEnd: onDragEnd,
302 - shape: "rounded",
303 - ref: ref,
304 - sx: {
305 - border: 'solid 1px',
306 - borderColor: 'divider',
307 - py: 0.5,
308 - px: 1,
309 - display: 'flex',
310 - width: '100%',
311 - alignItems: 'center',
312 - gap: 1
313 - }
314 - }, props), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__.Box, {
315 - display: "flex",
316 - alignItems: "center",
317 - gap: 1,
318 - minWidth: 0,
319 - flexGrow: 1,
320 - onClick: onClick
321 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__.ListItemIcon, {
322 - size: "tiny"
323 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_icons__WEBPACK_IMPORTED_MODULE_2__.ComponentsIcon, {
324 - fontSize: "tiny"
325 - })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(Indicator, {
326 - isActive: isEditing,
327 - isError: !!error
328 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__.Box, {
329 - display: "flex",
330 - flex: 1,
331 - minWidth: 0,
332 - flexGrow: 1
333 - }, nameSlot ?? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(ComponentName, {
334 - name: component.name
335 - })))), endSlot);
336 -});
337 -const Indicator = (0,_elementor_ui__WEBPACK_IMPORTED_MODULE_3__.styled)(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__.Box, {
338 - shouldForwardProp: prop => prop !== 'isActive' && prop !== 'isError'
339 -})(({
340 - theme,
341 - isActive,
342 - isError
343 -}) => ({
344 - display: 'flex',
345 - width: '100%',
346 - flexGrow: 1,
347 - borderRadius: theme.spacing(0.5),
348 - border: getIndicatorBorder({
349 - isActive,
350 - isError,
351 - theme
352 - }),
353 - padding: `0 ${theme.spacing(1)}`,
354 - marginLeft: isActive ? theme.spacing(1) : 0,
355 - minWidth: 0
356 -}));
357 -const getIndicatorBorder = ({
358 - isActive,
359 - isError,
360 - theme
361 -}) => {
362 - if (isError) {
363 - return `2px solid ${theme.palette.error.main}`;
364 - }
365 - if (isActive) {
366 - return `2px solid ${theme.palette.secondary.main}`;
367 - }
368 - return 'none';
369 -};
370 -function ComponentName({
371 - name,
372 - editable
373 -}) {
374 - if (editable?.isEditing) {
375 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_editor_ui__WEBPACK_IMPORTED_MODULE_1__.EditableField, _extends({
376 - ref: editable.ref,
377 - as: _elementor_ui__WEBPACK_IMPORTED_MODULE_3__.Typography,
378 - variant: "caption"
379 - }, editable.getProps()));
380 - }
381 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_editor_ui__WEBPACK_IMPORTED_MODULE_1__.EllipsisWithTooltip, {
382 - title: name,
383 - as: _elementor_ui__WEBPACK_IMPORTED_MODULE_3__.Typography,
384 - variant: "caption",
385 - color: "text.primary"
386 - });
387 -}
388 -
389 -/***/ }),
390 -
391 -/***/ "./packages/packages/core/editor-components/src/components/components-tab/components-list.tsx":
392 -/*!****************************************************************************************************!*\
393 - !*** ./packages/packages/core/editor-components/src/components/components-tab/components-list.tsx ***!
394 - \****************************************************************************************************/
395 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
396 -
397 -__webpack_require__.r(__webpack_exports__);
398 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
399 -/* harmony export */ ComponentsList: function() { return /* binding */ ComponentsList; },
400 -/* harmony export */ EmptySearchResult: function() { return /* binding */ EmptySearchResult; },
401 -/* harmony export */ useFilteredComponents: function() { return /* binding */ useFilteredComponents; }
402 -/* harmony export */ });
403 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
404 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
405 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
406 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_icons__WEBPACK_IMPORTED_MODULE_1__);
407 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
408 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__);
409 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
410 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__);
411 -/* harmony import */ var _hooks_use_components__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../hooks/use-components */ "./packages/packages/core/editor-components/src/hooks/use-components.ts");
412 -/* harmony import */ var _hooks_use_components_permissions__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../hooks/use-components-permissions */ "./packages/packages/core/editor-components/src/hooks/use-components-permissions.ts");
413 -/* harmony import */ var _utils_is_pro_components_supported__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../utils/is-pro-components-supported */ "./packages/packages/core/editor-components/src/utils/is-pro-components-supported.ts");
414 -/* harmony import */ var _components_item__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./components-item */ "./packages/packages/core/editor-components/src/components/components-tab/components-item.tsx");
415 -/* harmony import */ var _loading_components__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./loading-components */ "./packages/packages/core/editor-components/src/components/components-tab/loading-components.tsx");
416 -/* harmony import */ var _search_provider__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./search-provider */ "./packages/packages/core/editor-components/src/components/components-tab/search-provider.tsx");
417 -
418 -
419 -
420 -
421 -
422 -
423 -
424 -
425 -
426 -
427 -const LEARN_MORE_URL = 'http://go.elementor.com/components-guide-article';
428 -const UPGRADE_URL = 'https://go.elementor.com/go-pro-components/';
429 -const UPDATE_PLUGINS_URL = '/wp-admin/plugins.php';
430 -
431 -// Override legacy panel CSS reset that sets h1-h6 to font-size:100% and font-weight:normal.
432 -// See: assets/dev/scss/editor/panel/_reset.scss (applied via :where() selector in panel.scss).
433 -const SUBTITLE_OVERRIDE_SX = {
434 - fontSize: '0.875rem !important',
435 - fontWeight: '500 !important'
436 -};
437 -function ComponentsList() {
438 - const {
439 - components,
440 - isLoading,
441 - searchValue
442 - } = useFilteredComponents();
443 - if (isLoading) {
444 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_loading_components__WEBPACK_IMPORTED_MODULE_8__.LoadingComponents, null);
445 - }
446 - const isEmpty = !components?.length;
447 - if (isEmpty) {
448 - if (searchValue.length) {
449 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(EmptySearchResult, null);
450 - }
451 - if ((0,_utils_is_pro_components_supported__WEBPACK_IMPORTED_MODULE_6__.isProOutdatedForComponents)()) {
452 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(ProOutdatedEmptyState, null);
453 - }
454 - return (0,_utils_is_pro_components_supported__WEBPACK_IMPORTED_MODULE_6__.isProComponentsSupported)() ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(EmptyState, null) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(ProUpgradeEmptyState, null);
455 - }
456 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.List, {
457 - sx: {
458 - display: 'flex',
459 - flexDirection: 'column',
460 - gap: 1,
461 - px: 2
462 - }
463 - }, components.map(component => /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components_item__WEBPACK_IMPORTED_MODULE_7__.ComponentItem, {
464 - key: component.uid,
465 - component: component
466 - })));
467 -}
468 -const ProUpgradeEmptyState = () => {
469 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Stack, {
470 - alignItems: "center",
471 - justifyContent: "start",
472 - height: "100%",
473 - sx: {
474 - px: 2,
475 - py: 4
476 - },
477 - gap: 2,
478 - overflow: "hidden"
479 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Stack, {
480 - alignItems: "center",
481 - gap: 1
482 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_icons__WEBPACK_IMPORTED_MODULE_1__.ComponentsIcon, {
483 - fontSize: "large",
484 - sx: {
485 - color: 'text.secondary'
486 - }
487 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Typography, {
488 - align: "center",
489 - variant: "subtitle2",
490 - color: "text.secondary",
491 - sx: SUBTITLE_OVERRIDE_SX
492 - }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Create Reusable Components', 'elementor')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Typography, {
493 - align: "center",
494 - variant: "caption",
495 - color: "secondary",
496 - sx: {
497 - maxWidth: 200
498 - }
499 - }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Create design elements that sync across your entire site.', 'elementor'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Button, {
500 - variant: "contained",
501 - color: "promotion",
502 - size: "small",
503 - startIcon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_icons__WEBPACK_IMPORTED_MODULE_1__.CrownFilledIcon, null),
504 - href: UPGRADE_URL,
505 - target: "_blank",
506 - rel: "noopener noreferrer"
507 - }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Upgrade now', 'elementor')));
508 -};
509 -const ProOutdatedEmptyState = () => {
510 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Stack, {
511 - alignItems: "center",
512 - justifyContent: "start",
513 - height: "100%",
514 - sx: {
515 - px: 2,
516 - py: 4,
517 - maxWidth: 268,
518 - m: 'auto'
519 - },
520 - gap: 2,
521 - overflow: "hidden"
522 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Stack, {
523 - alignItems: "center",
524 - gap: 1
525 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_icons__WEBPACK_IMPORTED_MODULE_1__.ComponentsIcon, {
526 - fontSize: "large",
527 - sx: {
528 - color: 'text.secondary'
529 - }
530 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Typography, {
531 - align: "center",
532 - variant: "subtitle2",
533 - color: "text.secondary",
534 - sx: SUBTITLE_OVERRIDE_SX
535 - }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Create Reusable Components', 'elementor')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Typography, {
536 - align: "center",
537 - variant: "caption",
538 - color: "secondary"
539 - }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Create design elements that sync across your entire site.', 'elementor')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Typography, {
540 - align: "center",
541 - variant: "caption",
542 - color: "secondary",
543 - sx: {
544 - mt: 1
545 - }
546 - }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('To create components, update Elementor Pro to the latest version.', 'elementor'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Button, {
547 - variant: "text",
548 - color: "info",
549 - size: "small",
550 - href: UPDATE_PLUGINS_URL,
551 - target: "_blank",
552 - rel: "noopener noreferrer"
553 - }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Update Elementor Pro', 'elementor')));
554 -};
555 -const EmptyState = () => {
556 - const {
557 - canCreate
558 - } = (0,_hooks_use_components_permissions__WEBPACK_IMPORTED_MODULE_5__.useComponentsPermissions)();
559 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Stack, {
560 - alignItems: "center",
561 - justifyContent: "start",
562 - height: "100%",
563 - sx: {
564 - px: 2,
565 - py: 4
566 - },
567 - gap: 2,
568 - overflow: "hidden"
569 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Stack, {
570 - alignItems: "center",
571 - gap: 1
572 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_icons__WEBPACK_IMPORTED_MODULE_1__.ComponentsIcon, {
573 - fontSize: "large",
574 - sx: {
575 - color: 'text.secondary'
576 - }
577 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Typography, {
578 - align: "center",
579 - variant: "subtitle2",
580 - color: "text.secondary",
581 - sx: SUBTITLE_OVERRIDE_SX
582 - }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('No components yet', 'elementor')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Typography, {
583 - align: "center",
584 - variant: "caption",
585 - color: "secondary",
586 - sx: {
587 - maxWidth: 200
588 - }
589 - }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Components are reusable blocks that sync across your site.', 'elementor'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("br", null), canCreate ? (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Create once, use everywhere.', 'elementor') : (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('With your current role, you cannot create components. Contact an administrator to create one.', 'elementor')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Link, {
590 - href: LEARN_MORE_URL,
591 - target: "_blank",
592 - rel: "noopener noreferrer",
593 - variant: "caption",
594 - color: "info.main"
595 - }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Learn more about components', 'elementor'))), canCreate && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Divider, {
596 - sx: {
597 - width: '100%'
598 - }
599 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Stack, {
600 - alignItems: "center",
601 - gap: 1,
602 - width: "100%"
603 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Typography, {
604 - align: "center",
605 - variant: "subtitle2",
606 - color: "text.secondary",
607 - sx: SUBTITLE_OVERRIDE_SX
608 - }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Create your first one:', 'elementor')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Typography, {
609 - align: "center",
610 - variant: "caption",
611 - color: "secondary",
612 - sx: {
613 - maxWidth: 228
614 - }
615 - }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Right-click any div-block or flexbox on your canvas or structure and select "Create component"', 'elementor')))));
616 -};
617 -const EmptySearchResult = () => {
618 - const {
619 - searchValue,
620 - clearSearch
621 - } = (0,_search_provider__WEBPACK_IMPORTED_MODULE_9__.useSearch)();
622 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Stack, {
623 - color: 'text.secondary',
624 - pt: 5,
625 - alignItems: "center",
626 - gap: 1,
627 - overflow: 'hidden',
628 - justifySelf: 'center'
629 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_icons__WEBPACK_IMPORTED_MODULE_1__.ComponentsIcon, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Box, {
630 - sx: {
631 - width: '100%'
632 - }
633 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Typography, {
634 - align: "center",
635 - variant: "subtitle2",
636 - color: "inherit",
637 - sx: SUBTITLE_OVERRIDE_SX
638 - }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Sorry, nothing matched', 'elementor')), searchValue && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Typography, {
639 - variant: "subtitle2",
640 - color: "inherit",
641 - sx: {
642 - ...SUBTITLE_OVERRIDE_SX,
643 - display: 'flex',
644 - width: '100%',
645 - justifyContent: 'center'
646 - }
647 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("span", null, "\u201C"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("span", {
648 - style: {
649 - maxWidth: '80%',
650 - overflow: 'hidden',
651 - textOverflow: 'ellipsis'
652 - }
653 - }, searchValue), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("span", null, "\u201D."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Typography, {
654 - align: "center",
655 - variant: "caption",
656 - color: "inherit"
657 - }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Try something else.', 'elementor')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Typography, {
658 - align: "center",
659 - variant: "caption",
660 - color: "inherit"
661 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Link, {
662 - color: "secondary",
663 - variant: "caption",
664 - component: "button",
665 - onClick: clearSearch
666 - }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Clear & try again', 'elementor'))));
667 -};
668 -const useFilteredComponents = () => {
669 - const {
670 - components,
671 - isLoading
672 - } = (0,_hooks_use_components__WEBPACK_IMPORTED_MODULE_4__.useComponents)();
673 - const {
674 - searchValue
675 - } = (0,_search_provider__WEBPACK_IMPORTED_MODULE_9__.useSearch)();
676 - return {
677 - components: components.filter(component => component.name.toLowerCase().includes(searchValue.toLowerCase())),
678 - isLoading,
679 - searchValue
680 - };
681 -};
682 -
683 -/***/ }),
684 -
685 -/***/ "./packages/packages/core/editor-components/src/components/components-tab/components-pro-notification.tsx":
686 -/*!****************************************************************************************************************!*\
687 - !*** ./packages/packages/core/editor-components/src/components/components-tab/components-pro-notification.tsx ***!
688 - \****************************************************************************************************************/
689 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
690 -
691 -__webpack_require__.r(__webpack_exports__);
692 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
693 -/* harmony export */ ComponentsProNotification: function() { return /* binding */ ComponentsProNotification; },
694 -/* harmony export */ UPGRADE_URL: function() { return /* binding */ UPGRADE_URL; }
695 -/* harmony export */ });
696 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
697 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
698 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
699 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__);
700 -/* harmony import */ var _components_upgrade_alert__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../components-upgrade-alert */ "./packages/packages/core/editor-components/src/components/components-upgrade-alert.tsx");
701 -
702 -
703 -
704 -const UPGRADE_URL = 'https://go.elementor.com/go-pro-components-exist-footer/';
705 -function ComponentsProNotification() {
706 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components_upgrade_alert__WEBPACK_IMPORTED_MODULE_2__.ComponentsUpgradeAlert, {
707 - title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Create new components', 'elementor'),
708 - description: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Creating new components requires an active Pro subscription.', 'elementor'),
709 - upgradeUrl: UPGRADE_URL
710 - });
711 -}
712 -
713 -/***/ }),
714 -
715 -/***/ "./packages/packages/core/editor-components/src/components/components-tab/components-update-notification.tsx":
716 -/*!*******************************************************************************************************************!*\
717 - !*** ./packages/packages/core/editor-components/src/components/components-tab/components-update-notification.tsx ***!
718 - \*******************************************************************************************************************/
719 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
720 -
721 -__webpack_require__.r(__webpack_exports__);
722 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
723 -/* harmony export */ ComponentsUpdateNotification: function() { return /* binding */ ComponentsUpdateNotification; }
724 -/* harmony export */ });
725 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
726 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
727 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
728 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__);
729 -/* harmony import */ var _components_update_alert__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../components-update-alert */ "./packages/packages/core/editor-components/src/components/components-update-alert.tsx");
730 -
731 -
732 -
733 -function ComponentsUpdateNotification() {
734 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components_update_alert__WEBPACK_IMPORTED_MODULE_2__.ComponentsUpdateAlert, {
735 - title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Create new Components', 'elementor'),
736 - description: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('To create new components, update Elementor Pro to the latest version.', 'elementor')
737 - });
738 -}
739 -
740 -/***/ }),
741 -
742 -/***/ "./packages/packages/core/editor-components/src/components/components-tab/components.tsx":
743 -/*!***********************************************************************************************!*\
744 - !*** ./packages/packages/core/editor-components/src/components/components-tab/components.tsx ***!
745 - \***********************************************************************************************/
746 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
747 -
748 -__webpack_require__.r(__webpack_exports__);
749 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
750 -/* harmony export */ Components: function() { return /* binding */ Components; }
751 -/* harmony export */ });
752 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
753 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
754 -/* harmony import */ var _elementor_editor_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/editor-ui */ "@elementor/editor-ui");
755 -/* harmony import */ var _elementor_editor_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_ui__WEBPACK_IMPORTED_MODULE_1__);
756 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
757 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__);
758 -/* harmony import */ var _hooks_use_components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../hooks/use-components */ "./packages/packages/core/editor-components/src/hooks/use-components.ts");
759 -/* harmony import */ var _utils_is_pro_components_supported__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/is-pro-components-supported */ "./packages/packages/core/editor-components/src/utils/is-pro-components-supported.ts");
760 -/* harmony import */ var _component_search__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./component-search */ "./packages/packages/core/editor-components/src/components/components-tab/component-search.tsx");
761 -/* harmony import */ var _components_list__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./components-list */ "./packages/packages/core/editor-components/src/components/components-tab/components-list.tsx");
762 -/* harmony import */ var _components_pro_notification__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./components-pro-notification */ "./packages/packages/core/editor-components/src/components/components-tab/components-pro-notification.tsx");
763 -/* harmony import */ var _components_update_notification__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./components-update-notification */ "./packages/packages/core/editor-components/src/components/components-tab/components-update-notification.tsx");
764 -/* harmony import */ var _search_provider__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./search-provider */ "./packages/packages/core/editor-components/src/components/components-tab/search-provider.tsx");
765 -
766 -
767 -
768 -
769 -
770 -
771 -
772 -
773 -
774 -
775 -
776 -const FULL_HEIGHT_STYLE_ID = 'components-full-height-panel';
777 -const FULL_HEIGHT_CSS = `
778 -#elementor-panel-page-elements {
779 - display: flex;
780 - flex-direction: column;
781 - height: 100%;
782 -}
783 -
784 -#elementor-panel-elements {
785 - display: flex;
786 - flex-direction: column;
787 - flex: 1;
788 - min-height: 0;
789 -}
790 -
791 -#elementor-panel-elements-wrapper {
792 - display: flex;
793 - flex-direction: column;
794 - flex: 1;
795 - min-height: 0;
796 -}
797 -`;
798 -const useFullHeightPanel = () => {
799 - (0,react__WEBPACK_IMPORTED_MODULE_0__.useLayoutEffect)(() => {
800 - let style = document.getElementById(FULL_HEIGHT_STYLE_ID);
801 - if (!style) {
802 - style = document.createElement('style');
803 - style.id = FULL_HEIGHT_STYLE_ID;
804 - style.textContent = FULL_HEIGHT_CSS;
805 - document.head.appendChild(style);
806 - }
807 - return () => {
808 - document.getElementById(FULL_HEIGHT_STYLE_ID)?.remove();
809 - };
810 - }, []);
811 -};
812 -const ComponentsContent = () => {
813 - const {
814 - components,
815 - isLoading
816 - } = (0,_hooks_use_components__WEBPACK_IMPORTED_MODULE_3__.useComponents)();
817 - const hasComponents = !isLoading && components.length > 0;
818 - const showProNotification = !(0,_utils_is_pro_components_supported__WEBPACK_IMPORTED_MODULE_4__.isProComponentsSupported)() && hasComponents;
819 - const isOutdated = (0,_utils_is_pro_components_supported__WEBPACK_IMPORTED_MODULE_4__.isProOutdatedForComponents)();
820 - useFullHeightPanel();
821 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Stack, {
822 - justifyContent: "space-between",
823 - sx: {
824 - flex: 1,
825 - minHeight: 0
826 - }
827 - }, hasComponents && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_component_search__WEBPACK_IMPORTED_MODULE_5__.ComponentSearch, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components_list__WEBPACK_IMPORTED_MODULE_6__.ComponentsList, null), showProNotification && (isOutdated ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components_update_notification__WEBPACK_IMPORTED_MODULE_8__.ComponentsUpdateNotification, null) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components_pro_notification__WEBPACK_IMPORTED_MODULE_7__.ComponentsProNotification, null)));
828 -};
829 -const Components = () => {
830 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_editor_ui__WEBPACK_IMPORTED_MODULE_1__.ThemeProvider, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_search_provider__WEBPACK_IMPORTED_MODULE_9__.SearchProvider, {
831 - localStorageKey: "elementor-components-search"
832 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(ComponentsContent, null)));
833 -};
834 -
835 -/***/ }),
836 -
837 -/***/ "./packages/packages/core/editor-components/src/components/components-tab/loading-components.tsx":
838 -/*!*******************************************************************************************************!*\
839 - !*** ./packages/packages/core/editor-components/src/components/components-tab/loading-components.tsx ***!
840 - \*******************************************************************************************************/
841 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
842 -
843 -__webpack_require__.r(__webpack_exports__);
844 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
845 -/* harmony export */ LoadingComponents: function() { return /* binding */ LoadingComponents; }
846 -/* harmony export */ });
847 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
848 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
849 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
850 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__);
851 -
852 -
853 -const ROWS = Array.from({
854 - length: 3
855 -}, (_, index) => index);
856 -const STAGGER_DELAY_MS = 80;
857 -const LoadingComponents = () => {
858 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Stack, {
859 - "aria-label": "Loading components",
860 - gap: 1.5,
861 - sx: {
862 - pointerEvents: 'none',
863 - position: 'relative',
864 - maxHeight: '300px',
865 - overflow: 'hidden',
866 - px: 1,
867 - '&:after': {
868 - position: 'absolute',
869 - bottom: 0,
870 - content: '""',
871 - left: 0,
872 - width: '100%',
873 - height: '40%',
874 - pointerEvents: 'none',
875 - zIndex: 1
876 - }
877 - }
878 - }, ROWS.map(row => /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Box, {
879 - key: row,
880 - display: "flex",
881 - alignItems: "center",
882 - gap: 1.5,
883 - sx: {
884 - py: 0.75,
885 - px: 1.5,
886 - opacity: 0,
887 - animation: `e-loading-fade-in 0.4s ease-out ${row * STAGGER_DELAY_MS}ms forwards`,
888 - '@keyframes e-loading-fade-in': {
889 - from: {
890 - opacity: 0,
891 - transform: 'translateY(4px)'
892 - },
893 - to: {
894 - opacity: 1,
895 - transform: 'translateY(0)'
896 - }
897 - }
898 - }
899 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Skeleton, {
900 - animation: "wave",
901 - variant: "rounded",
902 - width: 24,
903 - height: 24
904 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Skeleton, {
905 - animation: "wave",
906 - variant: "rounded",
907 - width: "60%",
908 - height: 14
909 - }))));
910 -};
911 -
912 -/***/ }),
913 -
914 -/***/ "./packages/packages/core/editor-components/src/components/components-tab/search-provider.tsx":
915 -/*!****************************************************************************************************!*\
916 - !*** ./packages/packages/core/editor-components/src/components/components-tab/search-provider.tsx ***!
917 - \****************************************************************************************************/
918 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
919 -
920 -__webpack_require__.r(__webpack_exports__);
921 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
922 -/* harmony export */ SearchProvider: function() { return /* binding */ SearchProvider; },
923 -/* harmony export */ useSearch: function() { return /* binding */ useSearch; }
924 -/* harmony export */ });
925 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
926 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
927 -/* harmony import */ var _elementor_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/utils */ "@elementor/utils");
928 -/* harmony import */ var _elementor_utils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_utils__WEBPACK_IMPORTED_MODULE_1__);
929 -
930 -
931 -
932 -const SearchContext = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(undefined);
933 -const SearchProvider = ({
934 - children,
935 - localStorageKey
936 -}) => {
937 - const {
938 - debouncedValue,
939 - handleChange,
940 - inputValue
941 - } = (0,_elementor_utils__WEBPACK_IMPORTED_MODULE_1__.useSearchState)({
942 - localStorageKey
943 - });
944 - const clearSearch = () => {
945 - handleChange('');
946 - };
947 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(SearchContext.Provider, {
948 - value: {
949 - handleChange,
950 - clearSearch,
951 - searchValue: debouncedValue,
952 - inputValue
953 - }
954 - }, children);
955 -};
956 -const useSearch = () => {
957 - const context = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(SearchContext);
958 - if (!context) {
959 - throw new Error('useSearch must be used within a SearchProvider');
960 - }
961 - return context;
962 -};
963 -
964 -/***/ }),
965 -
966 -/***/ "./packages/packages/core/editor-components/src/components/components-update-alert.tsx":
967 -/*!*********************************************************************************************!*\
968 - !*** ./packages/packages/core/editor-components/src/components/components-update-alert.tsx ***!
969 - \*********************************************************************************************/
970 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
971 -
972 -__webpack_require__.r(__webpack_exports__);
973 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
974 -/* harmony export */ ComponentsUpdateAlert: function() { return /* binding */ ComponentsUpdateAlert; }
975 -/* harmony export */ });
976 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
977 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
978 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
979 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_icons__WEBPACK_IMPORTED_MODULE_1__);
980 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
981 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__);
982 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
983 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__);
984 -
985 -
986 -
987 -
988 -const UPDATE_PLUGINS_URL = '/wp-admin/plugins.php';
989 -function ComponentsUpdateAlert({
990 - title,
991 - description
992 -}) {
993 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Box, {
994 - sx: {
995 - mt: 'auto',
996 - position: 'sticky',
997 - bottom: 0
998 - }
999 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Alert, {
1000 - variant: "standard",
1001 - color: "info",
1002 - icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_icons__WEBPACK_IMPORTED_MODULE_1__.InfoCircleFilledIcon, {
1003 - fontSize: "tiny"
1004 - }),
1005 - role: "status",
1006 - size: "small",
1007 - action: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.AlertAction, {
1008 - variant: "contained",
1009 - color: "info",
1010 - href: UPDATE_PLUGINS_URL,
1011 - target: "_blank",
1012 - rel: "noopener noreferrer"
1013 - }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Upgrade Now', 'elementor')),
1014 - sx: {
1015 - m: 2,
1016 - mt: 1
1017 - }
1018 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.AlertTitle, null, title), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Typography, {
1019 - variant: "caption"
1020 - }, description)));
1021 -}
1022 -
1023 -/***/ }),
1024 -
1025 -/***/ "./packages/packages/core/editor-components/src/components/components-upgrade-alert.tsx":
1026 -/*!**********************************************************************************************!*\
1027 - !*** ./packages/packages/core/editor-components/src/components/components-upgrade-alert.tsx ***!
1028 - \**********************************************************************************************/
1029 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1030 -
1031 -__webpack_require__.r(__webpack_exports__);
1032 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1033 -/* harmony export */ ComponentsUpgradeAlert: function() { return /* binding */ ComponentsUpgradeAlert; }
1034 -/* harmony export */ });
1035 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
1036 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1037 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
1038 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_icons__WEBPACK_IMPORTED_MODULE_1__);
1039 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1040 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__);
1041 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1042 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__);
1043 -
1044 -
1045 -
1046 -
1047 -function ComponentsUpgradeAlert({
1048 - title,
1049 - description,
1050 - upgradeUrl
1051 -}) {
1052 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Box, {
1053 - sx: {
1054 - mt: 'auto',
1055 - position: 'sticky',
1056 - bottom: 0
1057 - }
1058 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Alert, {
1059 - variant: "standard",
1060 - color: "promotion",
1061 - icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_icons__WEBPACK_IMPORTED_MODULE_1__.CrownFilledIcon, {
1062 - fontSize: "tiny"
1063 - }),
1064 - role: "status",
1065 - size: "small",
1066 - action: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.AlertAction, {
1067 - variant: "contained",
1068 - color: "promotion",
1069 - href: upgradeUrl,
1070 - target: "_blank",
1071 - rel: "noopener noreferrer"
1072 - }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Upgrade now', 'elementor')),
1073 - sx: {
1074 - m: 2,
1075 - mt: 1
1076 - }
1077 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.AlertTitle, null, title), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Typography, {
1078 - variant: "caption"
1079 - }, description)));
1080 -}
1081 -
1082 -/***/ }),
1083 -
1084 -/***/ "./packages/packages/core/editor-components/src/components/control-label.tsx":
1085 -/*!***********************************************************************************!*\
1086 - !*** ./packages/packages/core/editor-components/src/components/control-label.tsx ***!
1087 - \***********************************************************************************/
1088 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1089 -
1090 -__webpack_require__.r(__webpack_exports__);
1091 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1092 -/* harmony export */ ControlLabel: function() { return /* binding */ ControlLabel; }
1093 -/* harmony export */ });
1094 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
1095 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1096 -/* harmony import */ var _elementor_editor_controls__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/editor-controls */ "@elementor/editor-controls");
1097 -/* harmony import */ var _elementor_editor_controls__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_controls__WEBPACK_IMPORTED_MODULE_1__);
1098 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1099 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__);
1100 -
1101 -
1102 -
1103 -const ControlLabel = ({
1104 - children,
1105 - ...props
1106 -}) => {
1107 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Stack, {
1108 - direction: "row",
1109 - alignItems: "center",
1110 - justifyItems: "start",
1111 - gap: 0.25
1112 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_editor_controls__WEBPACK_IMPORTED_MODULE_1__.ControlFormLabel, props, children), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_editor_controls__WEBPACK_IMPORTED_MODULE_1__.ControlAdornments, null));
1113 -};
1114 -
1115 -/***/ }),
1116 -
1117 -/***/ "./packages/packages/core/editor-components/src/components/detach-instance-confirmation-dialog.tsx":
1118 -/*!*********************************************************************************************************!*\
1119 - !*** ./packages/packages/core/editor-components/src/components/detach-instance-confirmation-dialog.tsx ***!
1120 - \*********************************************************************************************************/
1121 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1122 -
1123 -__webpack_require__.r(__webpack_exports__);
1124 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1125 -/* harmony export */ DetachInstanceConfirmationDialog: function() { return /* binding */ DetachInstanceConfirmationDialog; },
1126 -/* harmony export */ openDetachConfirmDialog: function() { return /* binding */ openDetachConfirmDialog; }
1127 -/* harmony export */ });
1128 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
1129 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1130 -/* harmony import */ var _elementor_editor_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/editor-ui */ "@elementor/editor-ui");
1131 -/* harmony import */ var _elementor_editor_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_ui__WEBPACK_IMPORTED_MODULE_1__);
1132 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
1133 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_icons__WEBPACK_IMPORTED_MODULE_2__);
1134 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1135 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__);
1136 -
1137 -
1138 -
1139 -
1140 -function DetachInstanceConfirmationDialog({
1141 - open,
1142 - onClose,
1143 - onConfirm
1144 -}) {
1145 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_editor_ui__WEBPACK_IMPORTED_MODULE_1__.ConfirmationDialog, {
1146 - open: open,
1147 - onClose: onClose
1148 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_editor_ui__WEBPACK_IMPORTED_MODULE_1__.ConfirmationDialog.Title, {
1149 - icon: _elementor_icons__WEBPACK_IMPORTED_MODULE_2__.AlertTriangleFilledIcon,
1150 - iconColor: "secondary"
1151 - }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Detach from Component?', 'elementor')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_editor_ui__WEBPACK_IMPORTED_MODULE_1__.ConfirmationDialog.Content, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_editor_ui__WEBPACK_IMPORTED_MODULE_1__.ConfirmationDialog.ContentText, null, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Detaching this instance will break its link to the Component. Changes to the Component will no longer apply. Continue?', 'elementor'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_editor_ui__WEBPACK_IMPORTED_MODULE_1__.ConfirmationDialog.Actions, {
1152 - onClose: onClose,
1153 - onConfirm: onConfirm,
1154 - confirmLabel: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Detach', 'elementor'),
1155 - color: "primary"
1156 - }));
1157 -}
1158 -
1159 -// Used imperatively from the context menu (Marionette view).
1160 -function openDetachConfirmDialog(onConfirm) {
1161 - const handleConfirm = () => {
1162 - (0,_elementor_editor_ui__WEBPACK_IMPORTED_MODULE_1__.closeDialog)();
1163 - onConfirm();
1164 - };
1165 - (0,_elementor_editor_ui__WEBPACK_IMPORTED_MODULE_1__.openDialog)({
1166 - component: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(DetachInstanceConfirmationDialog, {
1167 - open: true,
1168 - onClose: _elementor_editor_ui__WEBPACK_IMPORTED_MODULE_1__.closeDialog,
1169 - onConfirm: handleConfirm
1170 - })
1171 - });
1172 -}
1173 -
1174 -/***/ }),
1175 -
1176 -/***/ "./packages/packages/core/editor-components/src/components/errors.ts":
1177 -/*!***************************************************************************!*\
1178 - !*** ./packages/packages/core/editor-components/src/components/errors.ts ***!
1179 - \***************************************************************************/
1180 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1181 -
1182 -__webpack_require__.r(__webpack_exports__);
1183 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1184 -/* harmony export */ OverrideControlInnerElementNotFoundError: function() { return /* binding */ OverrideControlInnerElementNotFoundError; },
1185 -/* harmony export */ OverrideControlPropTypeNotFoundError: function() { return /* binding */ OverrideControlPropTypeNotFoundError; }
1186 -/* harmony export */ });
1187 -/* harmony import */ var _elementor_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/utils */ "@elementor/utils");
1188 -/* harmony import */ var _elementor_utils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_utils__WEBPACK_IMPORTED_MODULE_0__);
1189 -
1190 -const OverrideControlInnerElementNotFoundError = (0,_elementor_utils__WEBPACK_IMPORTED_MODULE_0__.createError)({
1191 - code: 'override_control_inner_element_not_found',
1192 - message: `Component inner element not found for override control. The element may have been deleted without updating the overridable props, or the component has not finished rendering yet.`
1193 -});
1194 -const OverrideControlPropTypeNotFoundError = (0,_elementor_utils__WEBPACK_IMPORTED_MODULE_0__.createError)({
1195 - code: 'override_control_prop_type_not_found',
1196 - message: 'Prop type not found for override control.'
1197 -});
1198 -
1199 -/***/ }),
1200 -
1201 -/***/ "./packages/packages/core/editor-components/src/components/in-edit-mode.tsx":
1202 -/*!**********************************************************************************!*\
1203 - !*** ./packages/packages/core/editor-components/src/components/in-edit-mode.tsx ***!
1204 - \**********************************************************************************/
1205 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1206 -
1207 -__webpack_require__.r(__webpack_exports__);
1208 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1209 -/* harmony export */ openEditModeDialog: function() { return /* binding */ openEditModeDialog; }
1210 -/* harmony export */ });
1211 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
1212 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1213 -/* harmony import */ var _elementor_editor_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/editor-ui */ "@elementor/editor-ui");
1214 -/* harmony import */ var _elementor_editor_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_ui__WEBPACK_IMPORTED_MODULE_1__);
1215 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
1216 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_icons__WEBPACK_IMPORTED_MODULE_2__);
1217 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1218 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__);
1219 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1220 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__);
1221 -
1222 -
1223 -
1224 -
1225 -
1226 -const openEditModeDialog = lockedBy => {
1227 - (0,_elementor_editor_ui__WEBPACK_IMPORTED_MODULE_1__.openDialog)({
1228 - component: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(EditModeDialog, {
1229 - lockedBy: lockedBy
1230 - })
1231 - });
1232 -};
1233 -const EditModeDialog = ({
1234 - lockedBy
1235 -}) => {
1236 - /* translators: %s is the name of the user who is currently editing the document */
1237 - const content = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('%s is currently editing this document', 'elementor').replace('%s', lockedBy);
1238 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__.DialogHeader, {
1239 - logo: false
1240 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__.Box, {
1241 - display: "flex",
1242 - alignItems: "center",
1243 - gap: 1
1244 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__.Icon, {
1245 - color: "secondary"
1246 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_icons__WEBPACK_IMPORTED_MODULE_2__.InfoCircleFilledIcon, {
1247 - fontSize: "medium"
1248 - })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__.Typography, {
1249 - variant: "subtitle1"
1250 - }, content))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__.DialogContent, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__.Stack, {
1251 - spacing: 2,
1252 - direction: "column"
1253 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__.Typography, {
1254 - variant: "body2"
1255 - }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('You can wait for them to finish or reach out to coordinate your changes together.', 'elementor')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__.DialogActions, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__.Button, {
1256 - color: "secondary",
1257 - variant: "contained",
1258 - onClick: _elementor_editor_ui__WEBPACK_IMPORTED_MODULE_1__.closeDialog
1259 - }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Close', 'elementor'))))));
1260 -};
1261 -
1262 -/***/ }),
1263 -
1264 -/***/ "./packages/packages/core/editor-components/src/components/instance-editing-panel/detach-action.tsx":
1265 -/*!**********************************************************************************************************!*\
1266 - !*** ./packages/packages/core/editor-components/src/components/instance-editing-panel/detach-action.tsx ***!
1267 - \**********************************************************************************************************/
1268 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1269 -
1270 -__webpack_require__.r(__webpack_exports__);
1271 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1272 -/* harmony export */ DetachAction: function() { return /* binding */ DetachAction; }
1273 -/* harmony export */ });
1274 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
1275 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1276 -/* harmony import */ var _elementor_editor_notifications__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/editor-notifications */ "@elementor/editor-notifications");
1277 -/* harmony import */ var _elementor_editor_notifications__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_notifications__WEBPACK_IMPORTED_MODULE_1__);
1278 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
1279 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_icons__WEBPACK_IMPORTED_MODULE_2__);
1280 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1281 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__);
1282 -/* harmony import */ var _utils_detach_component_instance__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/detach-component-instance */ "./packages/packages/core/editor-components/src/utils/detach-component-instance/index.ts");
1283 -/* harmony import */ var _detach_instance_confirmation_dialog__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../detach-instance-confirmation-dialog */ "./packages/packages/core/editor-components/src/components/detach-instance-confirmation-dialog.tsx");
1284 -/* harmony import */ var _instance_panel_header__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./instance-panel-header */ "./packages/packages/core/editor-components/src/components/instance-editing-panel/instance-panel-header.tsx");
1285 -
1286 -
1287 -
1288 -
1289 -
1290 -
1291 -
1292 -
1293 -const DetachAction = ({
1294 - componentInstanceId,
1295 - componentId
1296 -}) => {
1297 - const [isDetachDialogOpen, setIsDetachDialogOpen] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);
1298 - const handleDetachConfirm = async () => {
1299 - setIsDetachDialogOpen(false);
1300 - try {
1301 - await (0,_utils_detach_component_instance__WEBPACK_IMPORTED_MODULE_4__.detachComponentInstance)({
1302 - instanceId: componentInstanceId,
1303 - componentId,
1304 - trackingInfo: getDetachTrackingInfo()
1305 - });
1306 - } catch {
1307 - (0,_elementor_editor_notifications__WEBPACK_IMPORTED_MODULE_1__.notify)({
1308 - type: 'error',
1309 - message: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Failed to detach component instance.', 'elementor'),
1310 - id: 'detach-component-instance-failed'
1311 - });
1312 - }
1313 - };
1314 - const handleDetachCancel = () => {
1315 - setIsDetachDialogOpen(false);
1316 - };
1317 - const handleDetachClick = () => {
1318 - setIsDetachDialogOpen(true);
1319 - };
1320 - const detachLabel = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Detach from Component', 'elementor');
1321 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_instance_panel_header__WEBPACK_IMPORTED_MODULE_6__.EditComponentAction, {
1322 - label: detachLabel,
1323 - icon: _elementor_icons__WEBPACK_IMPORTED_MODULE_2__.DetachIcon,
1324 - onClick: handleDetachClick
1325 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_detach_instance_confirmation_dialog__WEBPACK_IMPORTED_MODULE_5__.DetachInstanceConfirmationDialog, {
1326 - open: isDetachDialogOpen,
1327 - onClose: handleDetachCancel,
1328 - onConfirm: handleDetachConfirm
1329 - }));
1330 -};
1331 -function getDetachTrackingInfo() {
1332 - const extendedWindow = window;
1333 - const config = extendedWindow?.elementorCommon?.eventsManager?.config;
1334 - if (!config) {
1335 - return {
1336 - location: '',
1337 - trigger: ''
1338 - };
1339 - }
1340 - return {
1341 - location: config.locations.components.instanceEditingPanel,
1342 - trigger: config.triggers.click
1343 - };
1344 -}
1345 -
1346 -/***/ }),
1347 -
1348 -/***/ "./packages/packages/core/editor-components/src/components/instance-editing-panel/empty-state.tsx":
1349 -/*!********************************************************************************************************!*\
1350 - !*** ./packages/packages/core/editor-components/src/components/instance-editing-panel/empty-state.tsx ***!
1351 - \********************************************************************************************************/
1352 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1353 -
1354 -__webpack_require__.r(__webpack_exports__);
1355 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1356 -/* harmony export */ EmptyState: function() { return /* binding */ EmptyState; }
1357 -/* harmony export */ });
1358 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
1359 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1360 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
1361 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_icons__WEBPACK_IMPORTED_MODULE_1__);
1362 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1363 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__);
1364 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1365 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__);
1366 -/* harmony import */ var _hooks_use_components_permissions__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../hooks/use-components-permissions */ "./packages/packages/core/editor-components/src/hooks/use-components-permissions.ts");
1367 -
1368 -
1369 -
1370 -
1371 -
1372 -const EmptyState = ({
1373 - onEditComponent
1374 -}) => {
1375 - const {
1376 - canEdit
1377 - } = (0,_hooks_use_components_permissions__WEBPACK_IMPORTED_MODULE_4__.useComponentsPermissions)();
1378 - const message = canEdit ? (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Edit the component to add properties, manage them or update the design across all instances.', 'elementor') : (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('With your current role, you cannot edit this component. Contact an administrator to add properties.', 'elementor');
1379 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Stack, {
1380 - alignItems: "center",
1381 - justifyContent: "start",
1382 - height: "100%",
1383 - color: "text.secondary",
1384 - sx: {
1385 - p: 2.5,
1386 - pt: 8,
1387 - pb: 5.5,
1388 - mt: 1
1389 - },
1390 - gap: 1.5
1391 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_icons__WEBPACK_IMPORTED_MODULE_1__.ComponentPropListIcon, {
1392 - fontSize: "large"
1393 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Typography, {
1394 - align: "center",
1395 - variant: "subtitle2"
1396 - }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('No properties yet', 'elementor')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Typography, {
1397 - align: "center",
1398 - variant: "caption",
1399 - maxWidth: "170px"
1400 - }, message), canEdit && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Button, {
1401 - variant: "outlined",
1402 - color: "secondary",
1403 - size: "small",
1404 - sx: {
1405 - mt: 1
1406 - },
1407 - disabled: !onEditComponent,
1408 - onClick: onEditComponent
1409 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_icons__WEBPACK_IMPORTED_MODULE_1__.PencilIcon, {
1410 - fontSize: "small"
1411 - }), (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Edit component', 'elementor')));
1412 -};
1413 -
1414 -/***/ }),
1415 -
1416 -/***/ "./packages/packages/core/editor-components/src/components/instance-editing-panel/instance-editing-panel.tsx":
1417 -/*!*******************************************************************************************************************!*\
1418 - !*** ./packages/packages/core/editor-components/src/components/instance-editing-panel/instance-editing-panel.tsx ***!
1419 - \*******************************************************************************************************************/
1420 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1421 -
1422 -__webpack_require__.r(__webpack_exports__);
1423 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1424 -/* harmony export */ InstanceEditingPanel: function() { return /* binding */ InstanceEditingPanel; }
1425 -/* harmony export */ });
1426 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
1427 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1428 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
1429 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_icons__WEBPACK_IMPORTED_MODULE_1__);
1430 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1431 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__);
1432 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1433 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__);
1434 -/* harmony import */ var _hooks_use_components_permissions__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../hooks/use-components-permissions */ "./packages/packages/core/editor-components/src/hooks/use-components-permissions.ts");
1435 -/* harmony import */ var _provider_component_instance_context__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../provider/component-instance-context */ "./packages/packages/core/editor-components/src/provider/component-instance-context.tsx");
1436 -/* harmony import */ var _utils_is_pro_components_supported__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../utils/is-pro-components-supported */ "./packages/packages/core/editor-components/src/utils/is-pro-components-supported.ts");
1437 -/* harmony import */ var _components_update_alert__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../components-update-alert */ "./packages/packages/core/editor-components/src/components/components-update-alert.tsx");
1438 -/* harmony import */ var _components_upgrade_alert__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../components-upgrade-alert */ "./packages/packages/core/editor-components/src/components/components-upgrade-alert.tsx");
1439 -/* harmony import */ var _detach_action__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./detach-action */ "./packages/packages/core/editor-components/src/components/instance-editing-panel/detach-action.tsx");
1440 -/* harmony import */ var _empty_state__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./empty-state */ "./packages/packages/core/editor-components/src/components/instance-editing-panel/empty-state.tsx");
1441 -/* harmony import */ var _instance_panel_body__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./instance-panel-body */ "./packages/packages/core/editor-components/src/components/instance-editing-panel/instance-panel-body.tsx");
1442 -/* harmony import */ var _instance_panel_header__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./instance-panel-header */ "./packages/packages/core/editor-components/src/components/instance-editing-panel/instance-panel-header.tsx");
1443 -/* harmony import */ var _use_instance_panel_data__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./use-instance-panel-data */ "./packages/packages/core/editor-components/src/components/instance-editing-panel/use-instance-panel-data.ts");
1444 -
1445 -
1446 -
1447 -
1448 -
1449 -
1450 -
1451 -
1452 -
1453 -
1454 -
1455 -
1456 -
1457 -
1458 -const EDIT_UPGRADE_URL = 'https://go.elementor.com/go-pro-components-Instance-edit-footer/';
1459 -function InstanceEditingPanel() {
1460 - const {
1461 - canEdit
1462 - } = (0,_hooks_use_components_permissions__WEBPACK_IMPORTED_MODULE_4__.useComponentsPermissions)();
1463 - const data = (0,_use_instance_panel_data__WEBPACK_IMPORTED_MODULE_13__.useInstancePanelData)();
1464 - if (!data) {
1465 - return null;
1466 - }
1467 - const {
1468 - componentId,
1469 - component,
1470 - overrides,
1471 - overridableProps,
1472 - groups,
1473 - isEmpty,
1474 - componentInstanceId
1475 - } = data;
1476 -
1477 - /* translators: %s: component name. */
1478 - const panelTitle = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Edit %s', 'elementor').replace('%s', component.name);
1479 - const actions = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Stack, {
1480 - direction: "row",
1481 - gap: 0.5
1482 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_detach_action__WEBPACK_IMPORTED_MODULE_9__.DetachAction, {
1483 - componentInstanceId: componentInstanceId,
1484 - componentId: componentId
1485 - }), canEdit && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_instance_panel_header__WEBPACK_IMPORTED_MODULE_12__.EditComponentAction, {
1486 - disabled: true,
1487 - label: panelTitle,
1488 - icon: _elementor_icons__WEBPACK_IMPORTED_MODULE_1__.PencilIcon
1489 - }));
1490 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Box, {
1491 - "data-testid": "instance-editing-panel",
1492 - sx: {
1493 - display: 'flex',
1494 - flexDirection: 'column',
1495 - height: '100%'
1496 - }
1497 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_provider_component_instance_context__WEBPACK_IMPORTED_MODULE_5__.ComponentInstanceProvider, {
1498 - componentId: componentId,
1499 - overrides: overrides,
1500 - overridableProps: overridableProps
1501 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_instance_panel_header__WEBPACK_IMPORTED_MODULE_12__.InstancePanelHeader, {
1502 - componentName: component.name,
1503 - actions: actions
1504 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_instance_panel_body__WEBPACK_IMPORTED_MODULE_11__.InstancePanelBody, {
1505 - groups: groups,
1506 - isEmpty: isEmpty,
1507 - emptyState: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_empty_state__WEBPACK_IMPORTED_MODULE_10__.EmptyState, null),
1508 - componentInstanceId: componentInstanceId
1509 - })), !(0,_utils_is_pro_components_supported__WEBPACK_IMPORTED_MODULE_6__.isProComponentsSupported)() && ((0,_utils_is_pro_components_supported__WEBPACK_IMPORTED_MODULE_6__.isProOutdatedForComponents)() ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components_update_alert__WEBPACK_IMPORTED_MODULE_7__.ComponentsUpdateAlert, {
1510 - title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Edit Component', 'elementor'),
1511 - description: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('To edit components, update Elementor Pro to the latest version.', 'elementor')
1512 - }) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components_upgrade_alert__WEBPACK_IMPORTED_MODULE_8__.ComponentsUpgradeAlert, {
1513 - title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Edit components', 'elementor'),
1514 - description: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Editing components requires an active Pro subscription.', 'elementor'),
1515 - upgradeUrl: EDIT_UPGRADE_URL
1516 - })));
1517 -}
1518 -
1519 -/***/ }),
1520 -
1521 -/***/ "./packages/packages/core/editor-components/src/components/instance-editing-panel/instance-panel-body.tsx":
1522 -/*!****************************************************************************************************************!*\
1523 - !*** ./packages/packages/core/editor-components/src/components/instance-editing-panel/instance-panel-body.tsx ***!
1524 - \****************************************************************************************************************/
1525 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1526 -
1527 -__webpack_require__.r(__webpack_exports__);
1528 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1529 -/* harmony export */ InstancePanelBody: function() { return /* binding */ InstancePanelBody; }
1530 -/* harmony export */ });
1531 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
1532 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1533 -/* harmony import */ var _elementor_editor_controls__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/editor-controls */ "@elementor/editor-controls");
1534 -/* harmony import */ var _elementor_editor_controls__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_controls__WEBPACK_IMPORTED_MODULE_1__);
1535 -/* harmony import */ var _elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/editor-editing-panel */ "@elementor/editor-editing-panel");
1536 -/* harmony import */ var _elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_2__);
1537 -/* harmony import */ var _elementor_editor_panels__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @elementor/editor-panels */ "@elementor/editor-panels");
1538 -/* harmony import */ var _elementor_editor_panels__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_panels__WEBPACK_IMPORTED_MODULE_3__);
1539 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1540 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_4__);
1541 -/* harmony import */ var _override_props_group__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./override-props-group */ "./packages/packages/core/editor-components/src/components/instance-editing-panel/override-props-group.tsx");
1542 -
1543 -
1544 -
1545 -
1546 -
1547 -
1548 -function InstancePanelBody({
1549 - groups,
1550 - isEmpty,
1551 - emptyState,
1552 - componentInstanceId
1553 -}) {
1554 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_editor_panels__WEBPACK_IMPORTED_MODULE_3__.PanelBody, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_editor_controls__WEBPACK_IMPORTED_MODULE_1__.ControlAdornmentsProvider, {
1555 - items: (0,_elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_2__.getFieldIndicators)('settings')
1556 - }, isEmpty ? emptyState : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_4__.Stack, {
1557 - direction: "column",
1558 - alignItems: "stretch"
1559 - }, groups.map(group => /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
1560 - key: group.id + componentInstanceId
1561 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_override_props_group__WEBPACK_IMPORTED_MODULE_5__.OverridePropsGroup, {
1562 - group: group
1563 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_4__.Divider, null))))));
1564 -}
1565 -
1566 -/***/ }),
1567 -
1568 -/***/ "./packages/packages/core/editor-components/src/components/instance-editing-panel/instance-panel-header.tsx":
1569 -/*!******************************************************************************************************************!*\
1570 - !*** ./packages/packages/core/editor-components/src/components/instance-editing-panel/instance-panel-header.tsx ***!
1571 - \******************************************************************************************************************/
1572 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1573 -
1574 -__webpack_require__.r(__webpack_exports__);
1575 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1576 -/* harmony export */ EditComponentAction: function() { return /* binding */ EditComponentAction; },
1577 -/* harmony export */ InstancePanelHeader: function() { return /* binding */ InstancePanelHeader; }
1578 -/* harmony export */ });
1579 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
1580 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1581 -/* harmony import */ var _elementor_editor_panels__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/editor-panels */ "@elementor/editor-panels");
1582 -/* harmony import */ var _elementor_editor_panels__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_panels__WEBPACK_IMPORTED_MODULE_1__);
1583 -/* harmony import */ var _elementor_editor_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/editor-ui */ "@elementor/editor-ui");
1584 -/* harmony import */ var _elementor_editor_ui__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_ui__WEBPACK_IMPORTED_MODULE_2__);
1585 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
1586 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_elementor_icons__WEBPACK_IMPORTED_MODULE_3__);
1587 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1588 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_4__);
1589 -
1590 -
1591 -
1592 -
1593 -
1594 -function InstancePanelHeader({
1595 - componentName,
1596 - actions
1597 -}) {
1598 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_editor_panels__WEBPACK_IMPORTED_MODULE_1__.PanelHeader, {
1599 - sx: {
1600 - justifyContent: 'start',
1601 - px: 2
1602 - }
1603 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_4__.Stack, {
1604 - direction: "row",
1605 - alignItems: "center",
1606 - flexGrow: 1,
1607 - gap: 1,
1608 - maxWidth: "100%"
1609 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_icons__WEBPACK_IMPORTED_MODULE_3__.ComponentsIcon, {
1610 - fontSize: "small",
1611 - sx: {
1612 - color: 'text.tertiary'
1613 - }
1614 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_editor_ui__WEBPACK_IMPORTED_MODULE_2__.EllipsisWithTooltip, {
1615 - title: componentName,
1616 - as: _elementor_editor_panels__WEBPACK_IMPORTED_MODULE_1__.PanelHeaderTitle,
1617 - sx: {
1618 - flexGrow: 1
1619 - }
1620 - }), actions));
1621 -}
1622 -function EditComponentAction({
1623 - label,
1624 - onClick,
1625 - disabled = false,
1626 - icon: Icon
1627 -}) {
1628 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_4__.Tooltip, {
1629 - title: label
1630 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_4__.IconButton, {
1631 - size: "tiny",
1632 - onClick: onClick,
1633 - "aria-label": label,
1634 - disabled: disabled
1635 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(Icon, {
1636 - fontSize: "tiny"
1637 - })));
1638 -}
1639 -
1640 -/***/ }),
1641 -
1642 -/***/ "./packages/packages/core/editor-components/src/components/instance-editing-panel/override-prop-control.tsx":
1643 -/*!******************************************************************************************************************!*\
1644 - !*** ./packages/packages/core/editor-components/src/components/instance-editing-panel/override-prop-control.tsx ***!
1645 - \******************************************************************************************************************/
1646 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1647 -
1648 -__webpack_require__.r(__webpack_exports__);
1649 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1650 -/* harmony export */ OverridePropControl: function() { return /* binding */ OverridePropControl; }
1651 -/* harmony export */ });
1652 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
1653 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1654 -/* harmony import */ var _elementor_editor_controls__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/editor-controls */ "@elementor/editor-controls");
1655 -/* harmony import */ var _elementor_editor_controls__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_controls__WEBPACK_IMPORTED_MODULE_1__);
1656 -/* harmony import */ var _elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/editor-editing-panel */ "@elementor/editor-editing-panel");
1657 -/* harmony import */ var _elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_2__);
1658 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1659 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__);
1660 -/* harmony import */ var _hooks_use_controls_by_widget_type__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../hooks/use-controls-by-widget-type */ "./packages/packages/core/editor-components/src/hooks/use-controls-by-widget-type.ts");
1661 -/* harmony import */ var _prop_types_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../prop-types/component-instance-override-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-instance-override-prop-type.ts");
1662 -/* harmony import */ var _prop_types_component_instance_overrides_prop_type__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../prop-types/component-instance-overrides-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-instance-overrides-prop-type.ts");
1663 -/* harmony import */ var _prop_types_component_instance_prop_type__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../prop-types/component-instance-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-instance-prop-type.ts");
1664 -/* harmony import */ var _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../prop-types/component-overridable-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts");
1665 -/* harmony import */ var _provider_component_instance_context__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../provider/component-instance-context */ "./packages/packages/core/editor-components/src/provider/component-instance-context.tsx");
1666 -/* harmony import */ var _provider_overridable_prop_context__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../provider/overridable-prop-context */ "./packages/packages/core/editor-components/src/provider/overridable-prop-context.tsx");
1667 -/* harmony import */ var _store_actions_update_overridable_prop__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../store/actions/update-overridable-prop */ "./packages/packages/core/editor-components/src/store/actions/update-overridable-prop.ts");
1668 -/* harmony import */ var _store_store__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../store/store */ "./packages/packages/core/editor-components/src/store/store.ts");
1669 -/* harmony import */ var _utils_get_prop_type_for_component_override__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../utils/get-prop-type-for-component-override */ "./packages/packages/core/editor-components/src/utils/get-prop-type-for-component-override.ts");
1670 -/* harmony import */ var _utils_overridable_props_utils__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../utils/overridable-props-utils */ "./packages/packages/core/editor-components/src/utils/overridable-props-utils.ts");
1671 -/* harmony import */ var _utils_resolve_override_prop_value__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../utils/resolve-override-prop-value */ "./packages/packages/core/editor-components/src/utils/resolve-override-prop-value.ts");
1672 -/* harmony import */ var _control_label__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../control-label */ "./packages/packages/core/editor-components/src/components/control-label.tsx");
1673 -/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../errors */ "./packages/packages/core/editor-components/src/components/errors.ts");
1674 -/* harmony import */ var _utils_correct_exposed_empty_override__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./utils/correct-exposed-empty-override */ "./packages/packages/core/editor-components/src/components/instance-editing-panel/utils/correct-exposed-empty-override.ts");
1675 -/* harmony import */ var _utils_resolve_element_settings__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./utils/resolve-element-settings */ "./packages/packages/core/editor-components/src/components/instance-editing-panel/utils/resolve-element-settings.ts");
1676 -/* harmony import */ var _utils_use_override_dependencies__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./utils/use-override-dependencies */ "./packages/packages/core/editor-components/src/components/instance-editing-panel/utils/use-override-dependencies.ts");
1677 -/* harmony import */ var _utils_use_resolved_inner_element__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./utils/use-resolved-inner-element */ "./packages/packages/core/editor-components/src/components/instance-editing-panel/utils/use-resolved-inner-element.ts");
1678 -
1679 -
1680 -
1681 -
1682 -
1683 -
1684 -
1685 -
1686 -
1687 -
1688 -
1689 -
1690 -
1691 -
1692 -
1693 -
1694 -
1695 -
1696 -
1697 -
1698 -
1699 -
1700 -function OverridePropControl({
1701 - overrideKey
1702 -}) {
1703 - const overridableProps = (0,_provider_component_instance_context__WEBPACK_IMPORTED_MODULE_9__.useComponentOverridableProps)();
1704 - const overridableProp = overridableProps.props[overrideKey];
1705 - if (!overridableProp) {
1706 - return null;
1707 - }
1708 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_2__.SettingsField, {
1709 - bind: "component_instance",
1710 - propDisplayName: overridableProp.label
1711 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(OverrideControl, {
1712 - overridableProp: overridableProp
1713 - }));
1714 -}
1715 -function OverrideControl({
1716 - overridableProp
1717 -}) {
1718 - const componentInstanceElement = (0,_elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_2__.useElement)();
1719 - const {
1720 - value: instanceValue,
1721 - setValue: setInstanceValue
1722 - } = (0,_elementor_editor_controls__WEBPACK_IMPORTED_MODULE_1__.useBoundProp)(_prop_types_component_instance_prop_type__WEBPACK_IMPORTED_MODULE_7__.componentInstancePropTypeUtil);
1723 - const wrappingComponentId = (0,_store_store__WEBPACK_IMPORTED_MODULE_12__.useCurrentComponentId)();
1724 - const componentId = (0,_provider_component_instance_context__WEBPACK_IMPORTED_MODULE_9__.useComponentId)();
1725 - const overridableProps = (0,_provider_component_instance_context__WEBPACK_IMPORTED_MODULE_9__.useComponentOverridableProps)();
1726 - const overrides = (0,_provider_component_instance_context__WEBPACK_IMPORTED_MODULE_9__.useComponentInstanceOverrides)();
1727 - const controls = (0,_hooks_use_controls_by_widget_type__WEBPACK_IMPORTED_MODULE_4__.useControlsByWidgetType)(overridableProp.originPropFields?.widgetType ?? overridableProp.widgetType);
1728 - const controlReplacements = (0,_elementor_editor_controls__WEBPACK_IMPORTED_MODULE_1__.getControlReplacements)();
1729 - const matchingOverride = (0,_utils_overridable_props_utils__WEBPACK_IMPORTED_MODULE_14__.getMatchingOverride)(overrides, overridableProp.overrideKey);
1730 - const {
1731 - propKey
1732 - } = overridableProp.originPropFields ?? overridableProp;
1733 - const propType = (0,_utils_get_prop_type_for_component_override__WEBPACK_IMPORTED_MODULE_13__.getPropTypeForComponentOverride)(overridableProp);
1734 - if (!propType) {
1735 - throw new _errors__WEBPACK_IMPORTED_MODULE_17__.OverrideControlPropTypeNotFoundError({
1736 - context: {
1737 - overridableProp
1738 - }
1739 - });
1740 - }
1741 - const {
1742 - elementId,
1743 - elementType,
1744 - resolvedElementSettings,
1745 - resolvedOriginValues
1746 - } = (0,_utils_use_resolved_inner_element__WEBPACK_IMPORTED_MODULE_21__.useResolvedInnerElement)(overridableProp);
1747 - const {
1748 - overrideValue,
1749 - isDisabled,
1750 - isHidden
1751 - } = (0,_utils_use_override_dependencies__WEBPACK_IMPORTED_MODULE_20__.useOverrideControlDependencies)({
1752 - existingOverride: matchingOverride,
1753 - resolvedElementSettings,
1754 - elementType,
1755 - elementId,
1756 - propKey
1757 - });
1758 - if (isHidden) {
1759 - return null;
1760 - }
1761 - const {
1762 - propValue,
1763 - baseValue: resolvedBaseValue
1764 - } = resolveOverrideValues(overrideValue, resolvedOriginValues, propKey);
1765 - const value = {
1766 - [overridableProp.overrideKey]: propValue
1767 - };
1768 - const baseValue = {
1769 - [overridableProp.overrideKey]: resolvedBaseValue
1770 - };
1771 - const {
1772 - control,
1773 - controlProps,
1774 - layout
1775 - } = getControlParams(controls, overridableProp.originPropFields ?? overridableProp, overridableProp.label);
1776 - const propTypeSchema = (0,_elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_2__.createTopLevelObjectType)({
1777 - schema: {
1778 - [overridableProp.overrideKey]: propType
1779 - }
1780 - });
1781 - const setValue = (newValue, options, meta) => {
1782 - let newPropValue = getTempNewValueForDynamicProp(propType, propValue, newValue[overridableProp.overrideKey]);
1783 - newPropValue = (0,_utils_correct_exposed_empty_override__WEBPACK_IMPORTED_MODULE_18__.correctExposedEmptyOverride)(newPropValue, matchingOverride);
1784 - const newOverrideValue = createOverrideValue({
1785 - matchingOverride,
1786 - overrideKey: overridableProp.overrideKey,
1787 - overrideValue: newPropValue,
1788 - componentId
1789 - });
1790 - let newOverrides = (overrides ?? []).filter(override => isValidOverride(overridableProps, override)).map(override => override === matchingOverride ? newOverrideValue : override);
1791 - if (!matchingOverride) {
1792 - newOverrides = [...newOverrides, newOverrideValue];
1793 - }
1794 - setInstanceValue({
1795 - ...instanceValue,
1796 - overrides: _prop_types_component_instance_overrides_prop_type__WEBPACK_IMPORTED_MODULE_6__.componentInstanceOverridesPropTypeUtil.create(newOverrides)
1797 - }, options, meta);
1798 - const overridableValue = _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_8__.componentOverridablePropTypeUtil.extract(newOverrideValue);
1799 - if (overridableValue && wrappingComponentId) {
1800 - if (overridableProp.originPropFields) {
1801 - (0,_store_actions_update_overridable_prop__WEBPACK_IMPORTED_MODULE_11__.updateOverridableProp)(wrappingComponentId, overridableValue, overridableProp.originPropFields);
1802 - return;
1803 - }
1804 - const originPropFields = {
1805 - elType: overridableProp.elType,
1806 - widgetType: overridableProp.widgetType,
1807 - propKey: overridableProp.propKey,
1808 - elementId: overridableProp.elementId
1809 - };
1810 - (0,_store_actions_update_overridable_prop__WEBPACK_IMPORTED_MODULE_11__.updateOverridableProp)(wrappingComponentId, overridableValue, originPropFields);
1811 - }
1812 - };
1813 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_provider_overridable_prop_context__WEBPACK_IMPORTED_MODULE_10__.OverridablePropProvider, {
1814 - value: _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_8__.componentOverridablePropTypeUtil.extract(matchingOverride) ?? undefined,
1815 - componentInstanceElement: componentInstanceElement
1816 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_2__.ElementProvider, {
1817 - element: {
1818 - id: elementId,
1819 - type: elementType.key
1820 - },
1821 - elementType: elementType,
1822 - settings: resolvedElementSettings
1823 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_editor_controls__WEBPACK_IMPORTED_MODULE_1__.PropProvider, {
1824 - propType: propTypeSchema,
1825 - value: value,
1826 - setValue: setValue,
1827 - baseValue: baseValue,
1828 - isDisabled: isDisabled
1829 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_editor_controls__WEBPACK_IMPORTED_MODULE_1__.PropKeyProvider, {
1830 - bind: overridableProp.overrideKey
1831 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_editor_controls__WEBPACK_IMPORTED_MODULE_1__.ControlReplacementsProvider, {
1832 - replacements: controlReplacements
1833 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__.Box, {
1834 - mb: 1.5
1835 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_2__.ControlTypeContainer, {
1836 - layout: layout
1837 - }, layout !== 'custom' && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_control_label__WEBPACK_IMPORTED_MODULE_16__.ControlLabel, null, overridableProp.label), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(OriginalControl, {
1838 - control: control,
1839 - controlProps: controlProps
1840 - }))))))));
1841 -}
1842 -function resolveOverrideValues(overrideValue, resolvedOriginValues, propKey) {
1843 - const unwrappedSettings = (0,_utils_resolve_element_settings__WEBPACK_IMPORTED_MODULE_19__.unwrapOverridableSettings)(resolvedOriginValues);
1844 - const inheritedValue = unwrappedSettings[propKey] ?? null;
1845 - const isInheritedDynamic = (0,_elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_2__.isDynamicPropValue)(inheritedValue);
1846 - const shouldUseInheritedAsValue = isInheritedDynamic && !overrideValue;
1847 - const propValue = shouldUseInheritedAsValue ? inheritedValue : overrideValue;
1848 - const baseValue = overrideValue || isInheritedDynamic ? null : inheritedValue;
1849 - return {
1850 - propValue,
1851 - baseValue
1852 - };
1853 -}
1854 -
1855 -// Temp solution: when removing an override on a dynamic value, fall back to propType.default
1856 -// instead of null, since we don't have placeholder support for dynamics yet.
1857 -function getTempNewValueForDynamicProp(propType, propValue, newPropValue) {
1858 - const isRemovingOverride = newPropValue === null;
1859 - if (isRemovingOverride && (0,_elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_2__.isDynamicPropValue)(propValue)) {
1860 - return propType.default ?? null;
1861 - }
1862 - return newPropValue;
1863 -}
1864 -function createOverrideValue({
1865 - matchingOverride,
1866 - overrideKey,
1867 - overrideValue,
1868 - componentId
1869 -}) {
1870 - const overridableValue = _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_8__.componentOverridablePropTypeUtil.extract(matchingOverride);
1871 - const newOverridableValue = _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_8__.componentOverridablePropTypeUtil.extract(overrideValue);
1872 - const anyOverridable = newOverridableValue ?? overridableValue;
1873 - if (anyOverridable) {
1874 - const innerOverride = _prop_types_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_5__.componentInstanceOverridePropTypeUtil.create({
1875 - override_key: overrideKey,
1876 - override_value: (0,_utils_resolve_override_prop_value__WEBPACK_IMPORTED_MODULE_15__.resolveOverridePropValue)(overrideValue),
1877 - schema_source: {
1878 - type: 'component',
1879 - id: componentId
1880 - }
1881 - });
1882 - return _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_8__.componentOverridablePropTypeUtil.create({
1883 - override_key: anyOverridable.override_key,
1884 - origin_value: innerOverride
1885 - });
1886 - }
1887 - return _prop_types_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_5__.componentInstanceOverridePropTypeUtil.create({
1888 - override_key: overrideKey,
1889 - override_value: overrideValue,
1890 - schema_source: {
1891 - type: 'component',
1892 - id: componentId
1893 - }
1894 - });
1895 -}
1896 -function getControlParams(controls, originPropFields, label) {
1897 - const control = controls[originPropFields.propKey];
1898 - const {
1899 - value
1900 - } = control;
1901 - const layout = getControlLayout(control);
1902 - const controlProps = populateChildControlProps(value.props);
1903 - if (layout === 'custom') {
1904 - controlProps.label = label ?? value.label;
1905 - }
1906 - return {
1907 - control,
1908 - controlProps,
1909 - layout
1910 - };
1911 -}
1912 -function OriginalControl({
1913 - control,
1914 - controlProps
1915 -}) {
1916 - const {
1917 - value
1918 - } = control;
1919 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_2__.BaseControl, {
1920 - type: value.type,
1921 - props: controlProps
1922 - });
1923 -}
1924 -function getControlLayout(control) {
1925 - return control.value.meta?.layout || _elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_2__.controlsRegistry.getLayout(control.value.type);
1926 -}
1927 -function populateChildControlProps(props) {
1928 - if (props.childControlType) {
1929 - const childComponent = _elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_2__.controlsRegistry.get(props.childControlType);
1930 - const childPropType = _elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_2__.controlsRegistry.getPropTypeUtil(props.childControlType);
1931 - props = {
1932 - ...props,
1933 - childControlConfig: {
1934 - component: childComponent,
1935 - props: props.childControlProps || {},
1936 - propTypeUtil: childPropType
1937 - }
1938 - };
1939 - }
1940 - return props;
1941 -}
1942 -function isValidOverride(overridableProps, override) {
1943 - const overridableKey = _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_8__.componentOverridablePropTypeUtil.isValid(override) ? override.value.origin_value?.value.override_key : override.value.override_key;
1944 - return !!overridableProps.props[overridableKey];
1945 -}
1946 -
1947 -/***/ }),
1948 -
1949 -/***/ "./packages/packages/core/editor-components/src/components/instance-editing-panel/override-props-group.tsx":
1950 -/*!*****************************************************************************************************************!*\
1951 - !*** ./packages/packages/core/editor-components/src/components/instance-editing-panel/override-props-group.tsx ***!
1952 - \*****************************************************************************************************************/
1953 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1954 -
1955 -__webpack_require__.r(__webpack_exports__);
1956 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1957 -/* harmony export */ OverridePropsGroup: function() { return /* binding */ OverridePropsGroup; }
1958 -/* harmony export */ });
1959 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
1960 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1961 -/* harmony import */ var _elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/editor-editing-panel */ "@elementor/editor-editing-panel");
1962 -/* harmony import */ var _elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_1__);
1963 -/* harmony import */ var _elementor_editor_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/editor-ui */ "@elementor/editor-ui");
1964 -/* harmony import */ var _elementor_editor_ui__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_ui__WEBPACK_IMPORTED_MODULE_2__);
1965 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1966 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__);
1967 -/* harmony import */ var _override_prop_control__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./override-prop-control */ "./packages/packages/core/editor-components/src/components/instance-editing-panel/override-prop-control.tsx");
1968 -
1969 -
1970 -
1971 -
1972 -
1973 -
1974 -function OverridePropsGroup({
1975 - group
1976 -}) {
1977 - const [isOpen, setIsOpen] = (0,_elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_1__.useStateByElement)(group.id, true);
1978 - const handleClick = () => {
1979 - setIsOpen(!isOpen);
1980 - };
1981 - const id = (0,react__WEBPACK_IMPORTED_MODULE_0__.useId)();
1982 - const labelId = `label-${id}`;
1983 - const contentId = `content-${id}`;
1984 - const title = group.label;
1985 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__.Box, {
1986 - "aria-label": `${title} section`
1987 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__.ListItemButton, {
1988 - id: labelId,
1989 - "aria-controls": contentId,
1990 - "aria-label": `${title} section`,
1991 - onClick: handleClick,
1992 - p: 0,
1993 - sx: {
1994 - '&:hover': {
1995 - backgroundColor: 'transparent'
1996 - }
1997 - }
1998 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__.Stack, {
1999 - direction: "row",
2000 - alignItems: "center",
2001 - justifyItems: "start",
2002 - flexGrow: 1,
2003 - gap: 0.5
2004 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__.ListItemText, {
2005 - secondary: title,
2006 - secondaryTypographyProps: {
2007 - color: 'text.primary',
2008 - variant: 'caption',
2009 - fontWeight: 'bold'
2010 - },
2011 - sx: {
2012 - flexGrow: 0,
2013 - flexShrink: 1,
2014 - marginInlineEnd: 1
2015 - }
2016 - })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_editor_ui__WEBPACK_IMPORTED_MODULE_2__.CollapseIcon, {
2017 - open: isOpen,
2018 - color: "secondary",
2019 - fontSize: "tiny"
2020 - })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__.Collapse, {
2021 - id: contentId,
2022 - "aria-labelledby": labelId,
2023 - in: isOpen,
2024 - timeout: "auto"
2025 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__.Stack, {
2026 - direction: "column",
2027 - gap: 1,
2028 - p: 2
2029 - }, group.props.map(overrideKey => /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_override_prop_control__WEBPACK_IMPORTED_MODULE_4__.OverridePropControl, {
2030 - key: overrideKey,
2031 - overrideKey: overrideKey
2032 - })))));
2033 -}
2034 -
2035 -/***/ }),
2036 -
2037 -/***/ "./packages/packages/core/editor-components/src/components/instance-editing-panel/use-instance-panel-data.ts":
2038 -/*!*******************************************************************************************************************!*\
2039 - !*** ./packages/packages/core/editor-components/src/components/instance-editing-panel/use-instance-panel-data.ts ***!
2040 - \*******************************************************************************************************************/
2041 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2042 -
2043 -__webpack_require__.r(__webpack_exports__);
2044 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2045 -/* harmony export */ useInstancePanelData: function() { return /* binding */ useInstancePanelData; }
2046 -/* harmony export */ });
2047 -/* harmony import */ var _elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-editing-panel */ "@elementor/editor-editing-panel");
2048 -/* harmony import */ var _elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_0__);
2049 -/* harmony import */ var _hooks_use_sanitize_overridable_props__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../hooks/use-sanitize-overridable-props */ "./packages/packages/core/editor-components/src/hooks/use-sanitize-overridable-props.ts");
2050 -/* harmony import */ var _prop_types_component_instance_prop_type__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../prop-types/component-instance-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-instance-prop-type.ts");
2051 -/* harmony import */ var _store_store__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../store/store */ "./packages/packages/core/editor-components/src/store/store.ts");
2052 -
2053 -
2054 -
2055 -
2056 -function useInstancePanelData() {
2057 - const {
2058 - element,
2059 - settings
2060 - } = useComponentInstanceSettings();
2061 - const componentId = settings?.component_id?.value;
2062 - const overrides = settings?.overrides?.value;
2063 - const component = (0,_store_store__WEBPACK_IMPORTED_MODULE_3__.useComponent)(componentId ?? null);
2064 - const componentInstanceId = element?.id;
2065 - const overridableProps = (0,_hooks_use_sanitize_overridable_props__WEBPACK_IMPORTED_MODULE_1__.useSanitizeOverridableProps)(componentId ?? null, componentInstanceId);
2066 - if (!componentId || !overridableProps || !component || !componentInstanceId) {
2067 - return null;
2068 - }
2069 - const isNonEmptyGroup = group => group !== null && group.props.length > 0;
2070 - const groups = overridableProps.groups.order.map(groupId => overridableProps.groups.items[groupId] ?? null).filter(isNonEmptyGroup);
2071 - const isEmpty = groups.length === 0 || Object.keys(overridableProps.props).length === 0;
2072 - return {
2073 - componentId,
2074 - component,
2075 - overrides,
2076 - overridableProps,
2077 - groups,
2078 - isEmpty,
2079 - componentInstanceId
2080 - };
2081 -}
2082 -function useComponentInstanceSettings() {
2083 - const {
2084 - element,
2085 - settings
2086 - } = (0,_elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_0__.useElement)();
2087 - return {
2088 - element,
2089 - settings: _prop_types_component_instance_prop_type__WEBPACK_IMPORTED_MODULE_2__.componentInstancePropTypeUtil.extract(settings.component_instance)
2090 - };
2091 -}
2092 -
2093 -/***/ }),
2094 -
2095 -/***/ "./packages/packages/core/editor-components/src/components/instance-editing-panel/utils/correct-exposed-empty-override.ts":
2096 -/*!********************************************************************************************************************************!*\
2097 - !*** ./packages/packages/core/editor-components/src/components/instance-editing-panel/utils/correct-exposed-empty-override.ts ***!
2098 - \********************************************************************************************************************************/
2099 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2100 -
2101 -__webpack_require__.r(__webpack_exports__);
2102 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2103 -/* harmony export */ correctExposedEmptyOverride: function() { return /* binding */ correctExposedEmptyOverride; }
2104 -/* harmony export */ });
2105 -/* harmony import */ var _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../prop-types/component-overridable-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts");
2106 -
2107 -// The control receives the resolved value, so when exposing a prop that was never overridden,
2108 -// origin_value will be the resolved value instead of null.
2109 -// So here, we correct this by resetting origin_value to null.
2110 -function correctExposedEmptyOverride(newPropValue, matchingOverride) {
2111 - const newOverridableValue = _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_0__.componentOverridablePropTypeUtil.extract(newPropValue);
2112 - const isExposingEmptyOverride = newOverridableValue && matchingOverride === null;
2113 - if (!isExposingEmptyOverride) {
2114 - return newPropValue;
2115 - }
2116 - return _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_0__.componentOverridablePropTypeUtil.create({
2117 - override_key: newOverridableValue.override_key,
2118 - origin_value: null
2119 - });
2120 -}
2121 -
2122 -/***/ }),
2123 -
2124 -/***/ "./packages/packages/core/editor-components/src/components/instance-editing-panel/utils/resolve-element-settings.ts":
2125 -/*!**************************************************************************************************************************!*\
2126 - !*** ./packages/packages/core/editor-components/src/components/instance-editing-panel/utils/resolve-element-settings.ts ***!
2127 - \**************************************************************************************************************************/
2128 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2129 -
2130 -__webpack_require__.r(__webpack_exports__);
2131 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2132 -/* harmony export */ applyOverridesToSettings: function() { return /* binding */ applyOverridesToSettings; },
2133 -/* harmony export */ unwrapOverridableSettings: function() { return /* binding */ unwrapOverridableSettings; }
2134 -/* harmony export */ });
2135 -/* harmony import */ var _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../prop-types/component-overridable-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts");
2136 -
2137 -function applyOverridesToSettings(elementSettings, overrides) {
2138 - const result = {};
2139 - for (const [propKey, propValue] of Object.entries(elementSettings)) {
2140 - const overridable = _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_0__.componentOverridablePropTypeUtil.extract(propValue);
2141 - if (!overridable) {
2142 - result[propKey] = propValue;
2143 - continue;
2144 - }
2145 - const override = overrides[overridable.override_key];
2146 - if (!override) {
2147 - result[propKey] = propValue;
2148 - continue;
2149 - }
2150 - if (override.outermostKey && override.outermostKey !== overridable.override_key) {
2151 - const originValue = overridable.origin_value;
2152 - result[propKey] = _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_0__.componentOverridablePropTypeUtil.create({
2153 - override_key: override.outermostKey,
2154 - origin_value: override.value ?? originValue
2155 - });
2156 - } else {
2157 - result[propKey] = override.value ?? propValue;
2158 - }
2159 - }
2160 - return result;
2161 -}
2162 -function unwrapOverridableSettings(elementSettings) {
2163 - const result = {};
2164 - for (const [propKey, propValue] of Object.entries(elementSettings)) {
2165 - const overridable = _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_0__.componentOverridablePropTypeUtil.extract(propValue);
2166 - if (!overridable) {
2167 - result[propKey] = propValue;
2168 - continue;
2169 - }
2170 - result[propKey] = overridable.origin_value;
2171 - }
2172 - return result;
2173 -}
2174 -
2175 -/***/ }),
2176 -
2177 -/***/ "./packages/packages/core/editor-components/src/components/instance-editing-panel/utils/use-override-dependencies.ts":
2178 -/*!***************************************************************************************************************************!*\
2179 - !*** ./packages/packages/core/editor-components/src/components/instance-editing-panel/utils/use-override-dependencies.ts ***!
2180 - \***************************************************************************************************************************/
2181 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2182 -
2183 -__webpack_require__.r(__webpack_exports__);
2184 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2185 -/* harmony export */ useOverrideControlDependencies: function() { return /* binding */ useOverrideControlDependencies; }
2186 -/* harmony export */ });
2187 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
2188 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
2189 -/* harmony import */ var _elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/editor-editing-panel */ "@elementor/editor-editing-panel");
2190 -/* harmony import */ var _elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_1__);
2191 -/* harmony import */ var _utils_resolve_override_prop_value__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../utils/resolve-override-prop-value */ "./packages/packages/core/editor-components/src/utils/resolve-override-prop-value.ts");
2192 -
2193 -
2194 -
2195 -function useOverrideControlDependencies({
2196 - existingOverride,
2197 - resolvedElementSettings,
2198 - elementId,
2199 - elementType,
2200 - propKey
2201 -}) {
2202 - return (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => {
2203 - const {
2204 - isDisabled,
2205 - isHidden
2206 - } = (0,_elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_1__.extractDependencyEffect)(propKey, elementType.propsSchema, resolvedElementSettings);
2207 - const existingOverrideValue = existingOverride ? (0,_utils_resolve_override_prop_value__WEBPACK_IMPORTED_MODULE_2__.resolveOverridePropValue)(existingOverride) : null;
2208 - const settingsForDepsNewValuesCalculation = {
2209 - ...resolvedElementSettings,
2210 - [propKey]: existingOverrideValue
2211 - };
2212 - const resolvedSettingsWithDefaults = (0,_elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_1__.getElementSettingsWithDefaults)(elementType.propsSchema, settingsForDepsNewValuesCalculation);
2213 - const dependents = (0,_elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_1__.extractOrderedDependencies)(elementType.dependenciesPerTargetMapping ?? {});
2214 - const settingsWithDepsNewValues = (0,_elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_1__.getUpdatedValues)({
2215 - [propKey]: existingOverrideValue
2216 - }, dependents, elementType.propsSchema, resolvedSettingsWithDefaults, elementId);
2217 - const overrideValue = settingsWithDepsNewValues[propKey];
2218 - return {
2219 - overrideValue,
2220 - isDisabled,
2221 - isHidden
2222 - };
2223 - }, [existingOverride, resolvedElementSettings, propKey, elementType.propsSchema, elementType.dependenciesPerTargetMapping, elementId]);
2224 -}
2225 -
2226 -/***/ }),
2227 -
2228 -/***/ "./packages/packages/core/editor-components/src/components/instance-editing-panel/utils/use-resolved-inner-element.ts":
2229 -/*!****************************************************************************************************************************!*\
2230 - !*** ./packages/packages/core/editor-components/src/components/instance-editing-panel/utils/use-resolved-inner-element.ts ***!
2231 - \****************************************************************************************************************************/
2232 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2233 -
2234 -__webpack_require__.r(__webpack_exports__);
2235 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2236 -/* harmony export */ useResolvedInnerElement: function() { return /* binding */ useResolvedInnerElement; }
2237 -/* harmony export */ });
2238 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
2239 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
2240 -/* harmony import */ var _elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/editor-editing-panel */ "@elementor/editor-editing-panel");
2241 -/* harmony import */ var _elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_1__);
2242 -/* harmony import */ var _elementor_editor_elements__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/editor-elements */ "@elementor/editor-elements");
2243 -/* harmony import */ var _elementor_editor_elements__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_2__);
2244 -/* harmony import */ var _prop_types_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../prop-types/component-instance-override-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-instance-override-prop-type.ts");
2245 -/* harmony import */ var _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../prop-types/component-overridable-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts");
2246 -/* harmony import */ var _provider_component_instance_context__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../provider/component-instance-context */ "./packages/packages/core/editor-components/src/provider/component-instance-context.tsx");
2247 -/* harmony import */ var _utils_resolve_overrides_chain__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../utils/resolve-overrides-chain */ "./packages/packages/core/editor-components/src/utils/resolve-overrides-chain.ts");
2248 -/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../errors */ "./packages/packages/core/editor-components/src/components/errors.ts");
2249 -/* harmony import */ var _resolve_element_settings__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./resolve-element-settings */ "./packages/packages/core/editor-components/src/components/instance-editing-panel/utils/resolve-element-settings.ts");
2250 -
2251 -
2252 -
2253 -
2254 -
2255 -
2256 -
2257 -
2258 -
2259 -function useResolvedInnerElement(overridableProp) {
2260 - const componentInstanceElement = (0,_elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_1__.useElement)();
2261 - const componentId = (0,_provider_component_instance_context__WEBPACK_IMPORTED_MODULE_5__.useComponentId)();
2262 - const overrides = (0,_provider_component_instance_context__WEBPACK_IMPORTED_MODULE_5__.useComponentInstanceOverrides)();
2263 - const {
2264 - elementId: originElementId,
2265 - widgetType,
2266 - elType
2267 - } = overridableProp.originPropFields ?? overridableProp;
2268 - const type = elType === 'widget' ? widgetType : elType;
2269 - const elementType = (0,_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_2__.getElementType)(type);
2270 - if (!elementType) {
2271 - throw new Error(`Element type not found for ${type}`);
2272 - }
2273 - const {
2274 - elementId,
2275 - overridesMapping
2276 - } = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => {
2277 - const overridesChainResult = (0,_utils_resolve_overrides_chain__WEBPACK_IMPORTED_MODULE_6__.resolveOverridesChain)({
2278 - outerOverridableProp: overridableProp,
2279 - outerInstanceId: componentInstanceElement.element.id
2280 - });
2281 - if (overridesChainResult.isChainBroken) {
2282 - throw new _errors__WEBPACK_IMPORTED_MODULE_7__.OverrideControlInnerElementNotFoundError({
2283 - context: {
2284 - componentId,
2285 - elementId: originElementId
2286 - }
2287 - });
2288 - }
2289 - return {
2290 - elementId: overridesChainResult.innerElement.id,
2291 - overridesMapping: overridesChainResult.overridesMapping
2292 - };
2293 - }, [overridableProp, componentInstanceElement.element.id, componentId, originElementId]);
2294 -
2295 - // Not reactive to inner element store changes — intentional.
2296 - // Inner element settings can only change in component edit mode, which unmounts this component.
2297 - const settingsWithInnerOverrides = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => {
2298 - const settings = (0,_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_2__.getElementSettings)(elementId, Object.keys(elementType?.propsSchema ?? {}));
2299 - return (0,_resolve_element_settings__WEBPACK_IMPORTED_MODULE_8__.applyOverridesToSettings)(settings, overridesMapping);
2300 - }, [elementId, elementType?.propsSchema, overridesMapping]);
2301 - const resolvedElementSettings = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => {
2302 - const withAllOverrides = (0,_resolve_element_settings__WEBPACK_IMPORTED_MODULE_8__.applyOverridesToSettings)(settingsWithInnerOverrides, formatOverridesToApply(overrides));
2303 - return (0,_resolve_element_settings__WEBPACK_IMPORTED_MODULE_8__.unwrapOverridableSettings)(withAllOverrides);
2304 - }, [settingsWithInnerOverrides, overrides]);
2305 - return {
2306 - elementId,
2307 - elementType,
2308 - resolvedOriginValues: settingsWithInnerOverrides,
2309 - resolvedElementSettings
2310 - };
2311 -}
2312 -function formatOverridesToApply(overrides) {
2313 - if (!overrides) {
2314 - return {};
2315 - }
2316 - const result = {};
2317 - for (const item of overrides) {
2318 - const overridable = _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_4__.componentOverridablePropTypeUtil.extract(item);
2319 - let override = item;
2320 - if (overridable) {
2321 - override = overridable.origin_value;
2322 - }
2323 - const extractedOverride = _prop_types_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_3__.componentInstanceOverridePropTypeUtil.extract(override);
2324 - if (!extractedOverride) {
2325 - continue;
2326 - }
2327 - result[extractedOverride.override_key] = {
2328 - value: extractedOverride.override_value
2329 - };
2330 - }
2331 - return result;
2332 -}
2333 -
2334 -/***/ }),
2335 -
2336 -/***/ "./packages/packages/core/editor-components/src/components/load-template-components.tsx":
2337 -/*!**********************************************************************************************!*\
2338 - !*** ./packages/packages/core/editor-components/src/components/load-template-components.tsx ***!
2339 - \**********************************************************************************************/
2340 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2341 -
2342 -__webpack_require__.r(__webpack_exports__);
2343 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2344 -/* harmony export */ LoadTemplateComponents: function() { return /* binding */ LoadTemplateComponents; }
2345 -/* harmony export */ });
2346 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
2347 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
2348 -/* harmony import */ var _elementor_editor_templates__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/editor-templates */ "@elementor/editor-templates");
2349 -/* harmony import */ var _elementor_editor_templates__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_templates__WEBPACK_IMPORTED_MODULE_1__);
2350 -/* harmony import */ var _store_actions_load_components_assets__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../store/actions/load-components-assets */ "./packages/packages/core/editor-components/src/store/actions/load-components-assets.ts");
2351 -
2352 -
2353 -
2354 -
2355 -const LoadTemplateComponents = () => {
2356 - if ((0,_elementor_editor_templates__WEBPACK_IMPORTED_MODULE_1__.isHandlingTemplateStyles)()) {
2357 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(LoadTemplateComponentsInternal, null);
2358 - }
2359 - return null;
2360 -};
2361 -function LoadTemplateComponentsInternal() {
2362 - const templates = (0,_elementor_editor_templates__WEBPACK_IMPORTED_MODULE_1__.useLoadedTemplates)();
2363 - (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
2364 - (0,_store_actions_load_components_assets__WEBPACK_IMPORTED_MODULE_2__.loadComponentsAssets)(templates.flatMap(elements => elements ?? []));
2365 - }, [templates]);
2366 - return null;
2367 -}
2368 -
2369 -/***/ }),
2370 -
2371 -/***/ "./packages/packages/core/editor-components/src/consts.ts":
2372 -/*!****************************************************************!*\
2373 - !*** ./packages/packages/core/editor-components/src/consts.ts ***!
2374 - \****************************************************************/
2375 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2376 -
2377 -__webpack_require__.r(__webpack_exports__);
2378 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2379 -/* harmony export */ COMPONENT_WIDGET_TYPE: function() { return /* binding */ COMPONENT_WIDGET_TYPE; }
2380 -/* harmony export */ });
2381 -const COMPONENT_WIDGET_TYPE = 'e-component';
2382 -
2383 -/***/ }),
2384 -
2385 -/***/ "./packages/packages/core/editor-components/src/create-component-type.ts":
2386 -/*!*******************************************************************************!*\
2387 - !*** ./packages/packages/core/editor-components/src/create-component-type.ts ***!
2388 - \*******************************************************************************/
2389 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2390 -
2391 -__webpack_require__.r(__webpack_exports__);
2392 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2393 -/* harmony export */ COMPONENT_WIDGET_TYPE: function() { return /* binding */ COMPONENT_WIDGET_TYPE; },
2394 -/* harmony export */ createComponentType: function() { return /* binding */ createComponentType; }
2395 -/* harmony export */ });
2396 -/* harmony import */ var _elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-canvas */ "@elementor/editor-canvas");
2397 -/* harmony import */ var _elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_0__);
2398 -/* harmony import */ var _elementor_editor_documents__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/editor-documents */ "@elementor/editor-documents");
2399 -/* harmony import */ var _elementor_editor_documents__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_documents__WEBPACK_IMPORTED_MODULE_1__);
2400 -/* harmony import */ var _elementor_editor_notifications__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/editor-notifications */ "@elementor/editor-notifications");
2401 -/* harmony import */ var _elementor_editor_notifications__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_notifications__WEBPACK_IMPORTED_MODULE_2__);
2402 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @elementor/store */ "@elementor/store");
2403 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_elementor_store__WEBPACK_IMPORTED_MODULE_3__);
2404 -/* harmony import */ var _elementor_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @elementor/utils */ "@elementor/utils");
2405 -/* harmony import */ var _elementor_utils__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_elementor_utils__WEBPACK_IMPORTED_MODULE_4__);
2406 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
2407 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__);
2408 -/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./api */ "./packages/packages/core/editor-components/src/api.ts");
2409 -/* harmony import */ var _store_store__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./store/store */ "./packages/packages/core/editor-components/src/store/store.ts");
2410 -/* harmony import */ var _utils_detach_component_instance__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./utils/detach-component-instance */ "./packages/packages/core/editor-components/src/utils/detach-component-instance/index.ts");
2411 -/* harmony import */ var _utils_format_component_elements_id__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./utils/format-component-elements-id */ "./packages/packages/core/editor-components/src/utils/format-component-elements-id.ts");
2412 -/* harmony import */ var _utils_is_pro_components_supported__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./utils/is-pro-components-supported */ "./packages/packages/core/editor-components/src/utils/is-pro-components-supported.ts");
2413 -/* harmony import */ var _utils_switch_to_component__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./utils/switch-to-component */ "./packages/packages/core/editor-components/src/utils/switch-to-component.ts");
2414 -/* harmony import */ var _utils_tracking__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./utils/tracking */ "./packages/packages/core/editor-components/src/utils/tracking.ts");
2415 -
2416 -
2417 -
2418 -
2419 -
2420 -
2421 -
2422 -
2423 -
2424 -
2425 -
2426 -
2427 -
2428 -const COMPONENT_WIDGET_TYPE = 'e-component';
2429 -const EDIT_COMPONENT_DB_CLICK_UPGRADE_URL = 'https://go.elementor.com/go-pro-components-Instance-edit-canvas-double-click/';
2430 -const EDIT_COMPONENT_CONTEXT_MENU_UPGRADE_URL = 'https://go.elementor.com/go-pro-components-Instance-edit-context-menu/';
2431 -const UPDATE_PLUGINS_URL = '/wp-admin/plugins.php';
2432 -const COMPONENT_EDIT_UPGRADE_NOTIFICATION_ID = 'component-edit-upgrade';
2433 -const COMPONENT_EDIT_UPDATE_NOTIFICATION_ID = 'component-edit-update';
2434 -const COMPONENT_EDIT_UPGRADE_AUTO_HIDE_DURATION = 2000;
2435 -function notifyComponentEditUpgrade() {
2436 - (0,_elementor_editor_notifications__WEBPACK_IMPORTED_MODULE_2__.notify)({
2437 - type: 'promotion',
2438 - id: COMPONENT_EDIT_UPGRADE_NOTIFICATION_ID,
2439 - message: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__.__)('Editing components requires an active Pro subscription.', 'elementor'),
2440 - autoHideDuration: COMPONENT_EDIT_UPGRADE_AUTO_HIDE_DURATION,
2441 - additionalActionProps: [{
2442 - size: 'small',
2443 - variant: 'contained',
2444 - color: 'promotion',
2445 - href: EDIT_COMPONENT_DB_CLICK_UPGRADE_URL,
2446 - target: '_blank',
2447 - children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__.__)('Upgrade Now', 'elementor')
2448 - }]
2449 - });
2450 -}
2451 -function notifyComponentEditUpdate() {
2452 - (0,_elementor_editor_notifications__WEBPACK_IMPORTED_MODULE_2__.notify)({
2453 - type: 'info',
2454 - id: COMPONENT_EDIT_UPDATE_NOTIFICATION_ID,
2455 - message: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__.__)('To edit components, update Elementor Pro to the latest version.', 'elementor'),
2456 - additionalActionProps: [{
2457 - size: 'small',
2458 - variant: 'contained',
2459 - color: 'info',
2460 - href: UPDATE_PLUGINS_URL,
2461 - target: '_blank',
2462 - children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__.__)('Update Now', 'elementor')
2463 - }]
2464 - });
2465 -}
2466 -const updateGroups = (groups, config) => {
2467 - const disableMap = new Map(Object.entries(config.disable ?? {}));
2468 - const addMap = new Map(Object.entries(config.add ?? {}));
2469 - return groups.map(group => {
2470 - const disabledActions = disableMap.get(group.name) ?? [];
2471 - const addConfig = addMap.get(group.name);
2472 -
2473 - // Update disabled actions
2474 - const updatedActions = group.actions.map(action => disabledActions.includes(action.name) ? {
2475 - ...action,
2476 - isEnabled: () => false
2477 - } : action);
2478 -
2479 - // Insert additional actions if needed
2480 - if (addConfig) {
2481 - updatedActions.splice(addConfig.index, 0, ...addConfig.actions);
2482 - }
2483 - return {
2484 - ...group,
2485 - actions: updatedActions
2486 - };
2487 - });
2488 -};
2489 -function createComponentType(options) {
2490 - const legacyWindow = window;
2491 - const WidgetType = legacyWindow.elementor.modules.elements.types.Widget;
2492 - const view = createComponentView({
2493 - ...options
2494 - });
2495 - return class extends WidgetType {
2496 - getType() {
2497 - return options.type;
2498 - }
2499 - getView() {
2500 - return view;
2501 - }
2502 - getModel() {
2503 - return createComponentModel();
2504 - }
2505 - };
2506 -}
2507 -function createComponentView(options) {
2508 - const legacyWindow = window;
2509 - return class extends (0,_elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_0__.createTemplatedElementView)(options) {
2510 - eventsManagerConfig = legacyWindow.elementorCommon.eventsManager.config;
2511 - #componentRenderContext;
2512 - isComponentCurrentlyEdited() {
2513 - const currentDocument = (0,_elementor_editor_documents__WEBPACK_IMPORTED_MODULE_1__.getCurrentDocument)();
2514 - return currentDocument?.id === this.getComponentId();
2515 - }
2516 - getRenderContext() {
2517 - const namespaceKey = this.getNamespaceKey();
2518 - const parentContext = this._parent?.getRenderContext?.();
2519 - const parentComponentContext = parentContext?.[namespaceKey];
2520 - if (!this.#componentRenderContext) {
2521 - return parentContext;
2522 - }
2523 - const ownOverrides = this.#componentRenderContext.overrides ?? {};
2524 - const parentOverrides = parentComponentContext?.overrides ?? {};
2525 - return {
2526 - ...parentContext,
2527 - [namespaceKey]: {
2528 - overrides: {
2529 - ...parentOverrides,
2530 - ...ownOverrides
2531 - }
2532 - }
2533 - };
2534 - }
2535 - getResolverRenderContext() {
2536 - const namespaceKey = this.getNamespaceKey();
2537 - const context = this.getRenderContext();
2538 - const ownContext = context?.[namespaceKey];
2539 - if (!ownContext) {
2540 - return this._parent?.getResolverRenderContext?.();
2541 - }
2542 - const parentResolverContext = this._parent?.getResolverRenderContext?.();
2543 - return {
2544 - ...parentResolverContext,
2545 - ...ownContext
2546 - };
2547 - }
2548 - afterSettingsResolve(settings) {
2549 - const componentInstance = settings.component_instance;
2550 - if (componentInstance) {
2551 - this.#componentRenderContext = {
2552 - overrides: componentInstance.overrides ?? {}
2553 - };
2554 - const instanceId = this.model.get('id');
2555 - const elements = componentInstance.elements ?? [];
2556 - const formattedElements = (0,_utils_format_component_elements_id__WEBPACK_IMPORTED_MODULE_9__.formatComponentElementsId)(elements, [instanceId]);
2557 - this.collection = legacyWindow.elementor.createBackboneElementsCollection(formattedElements);
2558 - this.collection.models.forEach(setInactiveRecursively);
2559 - settings.component_instance = '<template data-children-placeholder></template>';
2560 - }
2561 - return settings;
2562 - }
2563 - getDomElement() {
2564 - // Component does not have a DOM element, so we return the first child's DOM element.
2565 - return this.children.findByIndex(0)?.getDomElement() ?? this.$el;
2566 - }
2567 - attachBuffer(collectionView, buffer) {
2568 - const childrenPlaceholder = collectionView.$el.find('[data-children-placeholder]').get(0);
2569 - if (!childrenPlaceholder) {
2570 - super.attachBuffer(collectionView, buffer);
2571 - return;
2572 - }
2573 - childrenPlaceholder.replaceWith(buffer);
2574 - }
2575 - getComponentId() {
2576 - const componentInstance = this.options?.model?.get('settings')?.get('component_instance')?.value;
2577 - return componentInstance.component_id.value;
2578 - }
2579 - getContextMenuGroups() {
2580 - const filteredGroups = super.getContextMenuGroups().filter(group => group.name !== 'save');
2581 - const componentId = this.getComponentId();
2582 - if (!componentId) {
2583 - return filteredGroups;
2584 - }
2585 - const newGroups = updateGroups(filteredGroups, this._getContextMenuConfig());
2586 - return newGroups;
2587 - }
2588 - _getContextMenuConfig() {
2589 - const isAdministrator = isUserAdministrator();
2590 - const hasPro = (0,_elementor_utils__WEBPACK_IMPORTED_MODULE_4__.hasProInstalled)();
2591 - const isOutdated = (0,_utils_is_pro_components_supported__WEBPACK_IMPORTED_MODULE_10__.isProOutdatedForComponents)();
2592 - const showPromoBadge = !hasPro && !isOutdated;
2593 - const badgeClass = 'elementor-context-menu-list__item__shortcut__promotion-badge';
2594 - const proBadge = `<a href="${EDIT_COMPONENT_CONTEXT_MENU_UPGRADE_URL}" target="_blank" onclick="event.stopPropagation()" class="${badgeClass}"><i class="eicon-upgrade-crown"></i></a>`;
2595 - const editComponentAction = {
2596 - name: 'edit component',
2597 - icon: 'eicon-edit',
2598 - title: () => (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__.__)('Edit Component', 'elementor'),
2599 - ...(showPromoBadge && {
2600 - shortcut: proBadge,
2601 - hasShortcutAction: true
2602 - }),
2603 - isEnabled: () => (0,_utils_is_pro_components_supported__WEBPACK_IMPORTED_MODULE_10__.isProComponentsSupported)() || isOutdated,
2604 - callback: (_, eventData) => this.editComponent(eventData)
2605 - };
2606 - const detachInstanceAction = {
2607 - name: 'detach instance',
2608 - icon: 'eicon-chain-broken',
2609 - title: () => (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__.__)('Detach from Component', 'elementor'),
2610 - isEnabled: () => true,
2611 - callback: (_, eventData) => this.detachInstance(eventData)
2612 - };
2613 - const actions = isAdministrator ? [editComponentAction, detachInstanceAction] : [detachInstanceAction];
2614 - const addedGroup = {
2615 - general: {
2616 - index: 1,
2617 - actions
2618 - }
2619 - };
2620 - const disabledGroup = {
2621 - clipboard: ['pasteStyle', 'resetStyle']
2622 - };
2623 - return {
2624 - add: addedGroup,
2625 - disable: disabledGroup
2626 - };
2627 - }
2628 - async switchDocument() {
2629 - //todo: handle unpublished
2630 - const {
2631 - isAllowedToSwitchDocument,
2632 - lockedBy
2633 - } = await _api__WEBPACK_IMPORTED_MODULE_6__.apiClient.getComponentLockStatus(this.getComponentId());
2634 - if (!isAllowedToSwitchDocument) {
2635 - options.showLockedByModal?.(lockedBy || '');
2636 - } else {
2637 - (0,_utils_switch_to_component__WEBPACK_IMPORTED_MODULE_11__.switchToComponent)(this.getComponentId(), this.model.get('id'), this.el);
2638 - }
2639 - }
2640 - editComponent({
2641 - trigger,
2642 - location,
2643 - secondaryLocation
2644 - }) {
2645 - if ((0,_utils_is_pro_components_supported__WEBPACK_IMPORTED_MODULE_10__.isProOutdatedForComponents)()) {
2646 - notifyComponentEditUpdate();
2647 - return;
2648 - }
2649 - if (!(0,_utils_is_pro_components_supported__WEBPACK_IMPORTED_MODULE_10__.isProComponentsSupported)() || this.isComponentCurrentlyEdited()) {
2650 - return;
2651 - }
2652 - this.switchDocument();
2653 - const editorSettings = this.model.get('editor_settings');
2654 - (0,_utils_tracking__WEBPACK_IMPORTED_MODULE_12__.trackComponentEvent)({
2655 - action: 'edited',
2656 - executedBy: 'user',
2657 - component_uid: editorSettings?.component_uid,
2658 - component_name: editorSettings?.title,
2659 - location,
2660 - secondary_location: secondaryLocation,
2661 - trigger
2662 - });
2663 - }
2664 - detachInstance({
2665 - trigger,
2666 - location,
2667 - secondaryLocation
2668 - }) {
2669 - const componentId = this.getComponentId();
2670 - const instanceId = this.model.get('id');
2671 - if (!componentId || !instanceId) {
2672 - return;
2673 - }
2674 - const handleConfirm = async () => {
2675 - try {
2676 - await (0,_utils_detach_component_instance__WEBPACK_IMPORTED_MODULE_8__.detachComponentInstance)({
2677 - instanceId,
2678 - componentId,
2679 - trackingInfo: {
2680 - location,
2681 - secondaryLocation,
2682 - trigger
2683 - }
2684 - });
2685 - } catch {
2686 - (0,_elementor_editor_notifications__WEBPACK_IMPORTED_MODULE_2__.notify)({
2687 - type: 'error',
2688 - message: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__.__)('Failed to detach component instance.', 'elementor'),
2689 - id: 'detach-component-instance-failed'
2690 - });
2691 - }
2692 - };
2693 - options.showDetachConfirmDialog?.(handleConfirm);
2694 - }
2695 - handleDblClick(e) {
2696 - e.stopPropagation();
2697 - if (!isUserAdministrator()) {
2698 - return;
2699 - }
2700 - if ((0,_utils_is_pro_components_supported__WEBPACK_IMPORTED_MODULE_10__.isProOutdatedForComponents)()) {
2701 - notifyComponentEditUpdate();
2702 - return;
2703 - }
2704 - if (!(0,_elementor_utils__WEBPACK_IMPORTED_MODULE_4__.hasProInstalled)()) {
2705 - notifyComponentEditUpgrade();
2706 - return;
2707 - }
2708 - const {
2709 - triggers,
2710 - locations,
2711 - secondaryLocations
2712 - } = this.eventsManagerConfig;
2713 - this.editComponent({
2714 - trigger: triggers.doubleClick,
2715 - location: locations.canvas,
2716 - secondaryLocation: secondaryLocations.canvasElement
2717 - });
2718 - }
2719 - events() {
2720 - return {
2721 - ...super.events(),
2722 - dblclick: this.handleDblClick
2723 - };
2724 - }
2725 - attributes() {
2726 - return {
2727 - ...super.attributes(),
2728 - 'data-elementor-id': this.getComponentId()
2729 - };
2730 - }
2731 - };
2732 -}
2733 -function setInactiveRecursively(model) {
2734 - const editSettings = model.get('editSettings');
2735 - if (editSettings) {
2736 - editSettings.set('inactive', true);
2737 - }
2738 - const elements = model.get('elements');
2739 - if (elements) {
2740 - elements.forEach(childModel => {
2741 - setInactiveRecursively(childModel);
2742 - });
2743 - }
2744 -}
2745 -function isUserAdministrator() {
2746 - const legacyWindow = window;
2747 - return legacyWindow.elementor.config?.user?.is_administrator ?? false;
2748 -}
2749 -function createComponentModel() {
2750 - const legacyWindow = window;
2751 - const WidgetType = legacyWindow.elementor.modules.elements.types.Widget;
2752 - const widgetTypeInstance = new WidgetType();
2753 - const BaseWidgetModel = widgetTypeInstance.getModel();
2754 - return BaseWidgetModel.extend({
2755 - initialize(attributes, options) {
2756 - BaseWidgetModel.prototype.initialize.call(this, attributes, options);
2757 - const componentInstance = this.get('settings')?.get('component_instance');
2758 - if (componentInstance?.value) {
2759 - const componentId = componentInstance.value.component_id?.value;
2760 - if (componentId && typeof componentId === 'number') {
2761 - this.set('componentId', componentId);
2762 - }
2763 - }
2764 - this.set('isGlobal', true);
2765 - },
2766 - getTitle() {
2767 - const editorSettings = this.get('editor_settings');
2768 - const instanceTitle = editorSettings?.title;
2769 - if (instanceTitle) {
2770 - return instanceTitle;
2771 - }
2772 - const componentUid = editorSettings?.component_uid;
2773 - if (componentUid) {
2774 - const component = (0,_store_store__WEBPACK_IMPORTED_MODULE_7__.selectComponentByUid)((0,_elementor_store__WEBPACK_IMPORTED_MODULE_3__.__getState)(), componentUid);
2775 - if (component?.name) {
2776 - return component.name;
2777 - }
2778 - }
2779 - return window.elementor.getElementData(this).title;
2780 - },
2781 - getComponentId() {
2782 - return this.get('componentId') || null;
2783 - },
2784 - getComponentName() {
2785 - return this.getTitle();
2786 - },
2787 - getComponentUid() {
2788 - const editorSettings = this.get('editor_settings');
2789 - return editorSettings?.component_uid || null;
2790 - }
2791 - });
2792 -}
2793 -
2794 -/***/ }),
2795 -
2796 -/***/ "./packages/packages/core/editor-components/src/hooks/use-components-permissions.ts":
2797 -/*!******************************************************************************************!*\
2798 - !*** ./packages/packages/core/editor-components/src/hooks/use-components-permissions.ts ***!
2799 - \******************************************************************************************/
2800 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2801 -
2802 -__webpack_require__.r(__webpack_exports__);
2803 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2804 -/* harmony export */ useComponentsPermissions: function() { return /* binding */ useComponentsPermissions; }
2805 -/* harmony export */ });
2806 -/* harmony import */ var _elementor_editor_current_user__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-current-user */ "@elementor/editor-current-user");
2807 -/* harmony import */ var _elementor_editor_current_user__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_current_user__WEBPACK_IMPORTED_MODULE_0__);
2808 -
2809 -const useComponentsPermissions = () => {
2810 - const {
2811 - isAdmin
2812 - } = (0,_elementor_editor_current_user__WEBPACK_IMPORTED_MODULE_0__.useCurrentUserCapabilities)();
2813 - return {
2814 - canCreate: isAdmin,
2815 - canEdit: isAdmin,
2816 - canDelete: isAdmin,
2817 - canRename: isAdmin
2818 - };
2819 -};
2820 -
2821 -/***/ }),
2822 -
2823 -/***/ "./packages/packages/core/editor-components/src/hooks/use-components.ts":
2824 -/*!******************************************************************************!*\
2825 - !*** ./packages/packages/core/editor-components/src/hooks/use-components.ts ***!
2826 - \******************************************************************************/
2827 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2828 -
2829 -__webpack_require__.r(__webpack_exports__);
2830 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2831 -/* harmony export */ useComponents: function() { return /* binding */ useComponents; }
2832 -/* harmony export */ });
2833 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/store */ "@elementor/store");
2834 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_store__WEBPACK_IMPORTED_MODULE_0__);
2835 -/* harmony import */ var _store_store__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../store/store */ "./packages/packages/core/editor-components/src/store/store.ts");
2836 -
2837 -
2838 -const useComponents = () => {
2839 - const components = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__useSelector)(_store_store__WEBPACK_IMPORTED_MODULE_1__.selectComponents);
2840 - const isLoading = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__useSelector)(_store_store__WEBPACK_IMPORTED_MODULE_1__.selectLoadIsPending);
2841 - return {
2842 - components,
2843 - isLoading
2844 - };
2845 -};
2846 -
2847 -/***/ }),
2848 -
2849 -/***/ "./packages/packages/core/editor-components/src/hooks/use-controls-by-widget-type.ts":
2850 -/*!*******************************************************************************************!*\
2851 - !*** ./packages/packages/core/editor-components/src/hooks/use-controls-by-widget-type.ts ***!
2852 - \*******************************************************************************************/
2853 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2854 -
2855 -__webpack_require__.r(__webpack_exports__);
2856 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2857 -/* harmony export */ useControlsByWidgetType: function() { return /* binding */ useControlsByWidgetType; }
2858 -/* harmony export */ });
2859 -/* harmony import */ var _elementor_editor_elements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-elements */ "@elementor/editor-elements");
2860 -/* harmony import */ var _elementor_editor_elements__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_0__);
2861 -
2862 -function useControlsByWidgetType(type) {
2863 - const elementType = (0,_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_0__.getElementType)(type);
2864 - if (!elementType) {
2865 - return {};
2866 - }
2867 - const controls = iterateControls(elementType.controls);
2868 - return getControlsByBind(controls);
2869 -}
2870 -function iterateControls(controls) {
2871 - return controls.map(control => {
2872 - if (control.type === 'control' && 'bind' in control.value) {
2873 - return control;
2874 - }
2875 - if (control.type === 'section') {
2876 - return iterateControls(control.value.items);
2877 - }
2878 - return null;
2879 - }).filter(Boolean).flat();
2880 -}
2881 -function getControlsByBind(controls) {
2882 - return controls.reduce((controlsByBind, control) => ({
2883 - ...controlsByBind,
2884 - [control.value.bind]: control
2885 - }), {});
2886 -}
2887 -
2888 -/***/ }),
2889 -
2890 -/***/ "./packages/packages/core/editor-components/src/hooks/use-sanitize-overridable-props.ts":
2891 -/*!**********************************************************************************************!*\
2892 - !*** ./packages/packages/core/editor-components/src/hooks/use-sanitize-overridable-props.ts ***!
2893 - \**********************************************************************************************/
2894 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2895 -
2896 -__webpack_require__.r(__webpack_exports__);
2897 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2898 -/* harmony export */ useSanitizeOverridableProps: function() { return /* binding */ useSanitizeOverridableProps; }
2899 -/* harmony export */ });
2900 -/* harmony import */ var _store_store__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../store/store */ "./packages/packages/core/editor-components/src/store/store.ts");
2901 -/* harmony import */ var _utils_filter_valid_overridable_props__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/filter-valid-overridable-props */ "./packages/packages/core/editor-components/src/utils/filter-valid-overridable-props.ts");
2902 -
2903 -
2904 -function useSanitizeOverridableProps(componentId, instanceElementId) {
2905 - const overridableProps = (0,_store_store__WEBPACK_IMPORTED_MODULE_0__.useOverridableProps)(componentId);
2906 - const isSanitized = (0,_store_store__WEBPACK_IMPORTED_MODULE_0__.useIsSanitizedComponent)(componentId, 'overridableProps');
2907 - if (!overridableProps || !componentId) {
2908 - return undefined;
2909 - }
2910 - if (isSanitized) {
2911 - return overridableProps;
2912 - }
2913 - return (0,_utils_filter_valid_overridable_props__WEBPACK_IMPORTED_MODULE_1__.filterValidOverridableProps)(overridableProps, instanceElementId);
2914 -}
2915 -
2916 -/***/ }),
2917 -
2918 -/***/ "./packages/packages/core/editor-components/src/init.ts":
2919 -/*!**************************************************************!*\
2920 - !*** ./packages/packages/core/editor-components/src/init.ts ***!
2921 - \**************************************************************/
2922 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2923 -
2924 -__webpack_require__.r(__webpack_exports__);
2925 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2926 -/* harmony export */ init: function() { return /* binding */ init; }
2927 -/* harmony export */ });
2928 -/* harmony import */ var _elementor_editor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor */ "@elementor/editor");
2929 -/* harmony import */ var _elementor_editor__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor__WEBPACK_IMPORTED_MODULE_0__);
2930 -/* harmony import */ var _elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/editor-canvas */ "@elementor/editor-canvas");
2931 -/* harmony import */ var _elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_1__);
2932 -/* harmony import */ var _elementor_editor_documents__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/editor-documents */ "@elementor/editor-documents");
2933 -/* harmony import */ var _elementor_editor_documents__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_documents__WEBPACK_IMPORTED_MODULE_2__);
2934 -/* harmony import */ var _elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @elementor/editor-editing-panel */ "@elementor/editor-editing-panel");
2935 -/* harmony import */ var _elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_3__);
2936 -/* harmony import */ var _elementor_editor_elements_panel__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @elementor/editor-elements-panel */ "@elementor/editor-elements-panel");
2937 -/* harmony import */ var _elementor_editor_elements_panel__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_elements_panel__WEBPACK_IMPORTED_MODULE_4__);
2938 -/* harmony import */ var _elementor_editor_embedded_documents_manager__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @elementor/editor-embedded-documents-manager */ "@elementor/editor-embedded-documents-manager");
2939 -/* harmony import */ var _elementor_editor_embedded_documents_manager__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_embedded_documents_manager__WEBPACK_IMPORTED_MODULE_5__);
2940 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @elementor/editor-v1-adapters */ "@elementor/editor-v1-adapters");
2941 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_6__);
2942 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @elementor/store */ "@elementor/store");
2943 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_elementor_store__WEBPACK_IMPORTED_MODULE_7__);
2944 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
2945 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_8__);
2946 -/* harmony import */ var _component_instance_transformer__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./component-instance-transformer */ "./packages/packages/core/editor-components/src/component-instance-transformer.ts");
2947 -/* harmony import */ var _component_overridable_transformer__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./component-overridable-transformer */ "./packages/packages/core/editor-components/src/component-overridable-transformer.ts");
2948 -/* harmony import */ var _component_override_transformer__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./component-override-transformer */ "./packages/packages/core/editor-components/src/component-override-transformer.ts");
2949 -/* harmony import */ var _components_components_tab_components__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./components/components-tab/components */ "./packages/packages/core/editor-components/src/components/components-tab/components.tsx");
2950 -/* harmony import */ var _components_detach_instance_confirmation_dialog__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./components/detach-instance-confirmation-dialog */ "./packages/packages/core/editor-components/src/components/detach-instance-confirmation-dialog.tsx");
2951 -/* harmony import */ var _components_in_edit_mode__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./components/in-edit-mode */ "./packages/packages/core/editor-components/src/components/in-edit-mode.tsx");
2952 -/* harmony import */ var _components_instance_editing_panel_instance_editing_panel__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./components/instance-editing-panel/instance-editing-panel */ "./packages/packages/core/editor-components/src/components/instance-editing-panel/instance-editing-panel.tsx");
2953 -/* harmony import */ var _components_load_template_components__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./components/load-template-components */ "./packages/packages/core/editor-components/src/components/load-template-components.tsx");
2954 -/* harmony import */ var _create_component_type__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./create-component-type */ "./packages/packages/core/editor-components/src/create-component-type.ts");
2955 -/* harmony import */ var _populate_store__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./populate-store */ "./packages/packages/core/editor-components/src/populate-store.ts");
2956 -/* harmony import */ var _prevent_circular_nesting__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./prevent-circular-nesting */ "./packages/packages/core/editor-components/src/prevent-circular-nesting.ts");
2957 -/* harmony import */ var _store_actions_load_components_assets__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./store/actions/load-components-assets */ "./packages/packages/core/editor-components/src/store/actions/load-components-assets.ts");
2958 -/* harmony import */ var _store_actions_remove_component_styles__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./store/actions/remove-component-styles */ "./packages/packages/core/editor-components/src/store/actions/remove-component-styles.ts");
2959 -/* harmony import */ var _store_store__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./store/store */ "./packages/packages/core/editor-components/src/store/store.ts");
2960 -/* harmony import */ var _sync_before_save__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./sync/before-save */ "./packages/packages/core/editor-components/src/sync/before-save.ts");
2961 -/* harmony import */ var _sync_load_component_data_after_instance_added__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./sync/load-component-data-after-instance-added */ "./packages/packages/core/editor-components/src/sync/load-component-data-after-instance-added.ts");
2962 -
2963 -
2964 -
2965 -
2966 -
2967 -
2968 -
2969 -
2970 -
2971 -
2972 -
2973 -
2974 -
2975 -
2976 -
2977 -
2978 -
2979 -
2980 -
2981 -
2982 -
2983 -
2984 -
2985 -
2986 -
2987 -function init() {
2988 - (0,_elementor_store__WEBPACK_IMPORTED_MODULE_7__.__registerSlice)(_store_store__WEBPACK_IMPORTED_MODULE_22__.slice);
2989 - (0,_elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_1__.registerElementType)(_create_component_type__WEBPACK_IMPORTED_MODULE_17__.COMPONENT_WIDGET_TYPE, options => (0,_create_component_type__WEBPACK_IMPORTED_MODULE_17__.createComponentType)({
2990 - ...options,
2991 - showLockedByModal: _components_in_edit_mode__WEBPACK_IMPORTED_MODULE_14__.openEditModeDialog,
2992 - showDetachConfirmDialog: _components_detach_instance_confirmation_dialog__WEBPACK_IMPORTED_MODULE_13__.openDetachConfirmDialog
2993 - }));
2994 - window.elementorCommon.__beforeSave = _sync_before_save__WEBPACK_IMPORTED_MODULE_23__.beforeSave;
2995 - (0,_elementor_editor_elements_panel__WEBPACK_IMPORTED_MODULE_4__.injectTab)({
2996 - id: 'components',
2997 - label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_8__.__)('Components', 'elementor'),
2998 - component: _components_components_tab_components__WEBPACK_IMPORTED_MODULE_12__.Components,
2999 - position: 1
3000 - });
3001 - (0,_elementor_editor__WEBPACK_IMPORTED_MODULE_0__.injectIntoLogic)({
3002 - id: 'components-populate-store',
3003 - component: _populate_store__WEBPACK_IMPORTED_MODULE_18__.PopulateStore
3004 - });
3005 - (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_6__.registerDataHook)('after', 'editor/documents/attach-preview', () => {
3006 - const {
3007 - id,
3008 - config
3009 - } = (0,_elementor_editor_documents__WEBPACK_IMPORTED_MODULE_2__.getV1CurrentDocument)() ?? {};
3010 - if (!id) {
3011 - return;
3012 - }
3013 - (0,_store_actions_remove_component_styles__WEBPACK_IMPORTED_MODULE_21__.removeComponentStyles)(id);
3014 - void (0,_store_actions_load_components_assets__WEBPACK_IMPORTED_MODULE_20__.loadComponentsAssets)(config?.elements ?? []);
3015 - });
3016 - _elementor_editor_embedded_documents_manager__WEBPACK_IMPORTED_MODULE_5__.embeddedDocumentsManager.onDocumentLoad((_documentId, data) => {
3017 - void (0,_store_actions_load_components_assets__WEBPACK_IMPORTED_MODULE_20__.loadComponentsAssets)(data.elements ?? []);
3018 - });
3019 - (0,_elementor_editor__WEBPACK_IMPORTED_MODULE_0__.injectIntoLogic)({
3020 - id: 'templates',
3021 - component: _components_load_template_components__WEBPACK_IMPORTED_MODULE_16__.LoadTemplateComponents
3022 - });
3023 - (0,_elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_3__.registerEditingPanelReplacement)({
3024 - id: 'component-instance-edit-panel',
3025 - condition: (_, elementType) => elementType.key === 'e-component',
3026 - component: _components_instance_editing_panel_instance_editing_panel__WEBPACK_IMPORTED_MODULE_15__.InstanceEditingPanel
3027 - });
3028 - _elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_1__.settingsTransformersRegistry.register('component-instance', _component_instance_transformer__WEBPACK_IMPORTED_MODULE_9__.componentInstanceTransformer);
3029 - _elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_1__.settingsTransformersRegistry.register('overridable', _component_overridable_transformer__WEBPACK_IMPORTED_MODULE_10__.componentOverridableTransformer);
3030 - _elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_1__.settingsTransformersRegistry.register('override', _component_override_transformer__WEBPACK_IMPORTED_MODULE_11__.componentOverrideTransformer);
3031 - (0,_prevent_circular_nesting__WEBPACK_IMPORTED_MODULE_19__.initCircularNestingPrevention)();
3032 - (0,_sync_load_component_data_after_instance_added__WEBPACK_IMPORTED_MODULE_24__.initLoadComponentDataAfterInstanceAdded)();
3033 -}
3034 -
3035 -/***/ }),
3036 -
3037 -/***/ "./packages/packages/core/editor-components/src/populate-store.ts":
3038 -/*!************************************************************************!*\
3039 - !*** ./packages/packages/core/editor-components/src/populate-store.ts ***!
3040 - \************************************************************************/
3041 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3042 -
3043 -__webpack_require__.r(__webpack_exports__);
3044 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3045 -/* harmony export */ PopulateStore: function() { return /* binding */ PopulateStore; }
3046 -/* harmony export */ });
3047 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
3048 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
3049 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/store */ "@elementor/store");
3050 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_store__WEBPACK_IMPORTED_MODULE_1__);
3051 -/* harmony import */ var _store_thunks__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./store/thunks */ "./packages/packages/core/editor-components/src/store/thunks.ts");
3052 -
3053 -
3054 -
3055 -function PopulateStore() {
3056 - (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
3057 - (0,_elementor_store__WEBPACK_IMPORTED_MODULE_1__.__dispatch)((0,_store_thunks__WEBPACK_IMPORTED_MODULE_2__.loadComponents)());
3058 - }, []);
3059 - return null;
3060 -}
3061 -
3062 -/***/ }),
3063 -
3064 -/***/ "./packages/packages/core/editor-components/src/prevent-circular-nesting.ts":
3065 -/*!**********************************************************************************!*\
3066 - !*** ./packages/packages/core/editor-components/src/prevent-circular-nesting.ts ***!
3067 - \**********************************************************************************/
3068 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3069 -
3070 -__webpack_require__.r(__webpack_exports__);
3071 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3072 -/* harmony export */ extractComponentIdsFromElements: function() { return /* binding */ extractComponentIdsFromElements; },
3073 -/* harmony export */ initCircularNestingPrevention: function() { return /* binding */ initCircularNestingPrevention; },
3074 -/* harmony export */ wouldCreateCircularNesting: function() { return /* binding */ wouldCreateCircularNesting; }
3075 -/* harmony export */ });
3076 -/* harmony import */ var _elementor_editor_elements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-elements */ "@elementor/editor-elements");
3077 -/* harmony import */ var _elementor_editor_elements__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_0__);
3078 -/* harmony import */ var _elementor_editor_notifications__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/editor-notifications */ "@elementor/editor-notifications");
3079 -/* harmony import */ var _elementor_editor_notifications__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_notifications__WEBPACK_IMPORTED_MODULE_1__);
3080 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/editor-v1-adapters */ "@elementor/editor-v1-adapters");
3081 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_2__);
3082 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @elementor/store */ "@elementor/store");
3083 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_elementor_store__WEBPACK_IMPORTED_MODULE_3__);
3084 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3085 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__);
3086 -/* harmony import */ var _store_store__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./store/store */ "./packages/packages/core/editor-components/src/store/store.ts");
3087 -
3088 -
3089 -
3090 -
3091 -
3092 -
3093 -const COMPONENT_TYPE = 'e-component';
3094 -const COMPONENT_CIRCULAR_NESTING_ALERT = {
3095 - type: 'default',
3096 - message: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)("Can't add this component - components that contain each other can't be nested.", 'elementor'),
3097 - id: 'circular-component-nesting-blocked'
3098 -};
3099 -function initCircularNestingPrevention() {
3100 - (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_2__.blockCommand)({
3101 - command: 'document/elements/create',
3102 - condition: blockCircularCreate
3103 - });
3104 - (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_2__.blockCommand)({
3105 - command: 'document/elements/move',
3106 - condition: blockCircularMove
3107 - });
3108 - (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_2__.blockCommand)({
3109 - command: 'document/elements/paste',
3110 - condition: blockCircularPaste
3111 - });
3112 -}
3113 -
3114 -// Note that this function only checks for direct circular nesting, not indirect nesting
3115 -function wouldCreateCircularNesting(componentIdToAdd) {
3116 - if (componentIdToAdd === undefined) {
3117 - return false;
3118 - }
3119 - const state = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_3__.__getState)();
3120 - const currentComponentId = (0,_store_store__WEBPACK_IMPORTED_MODULE_5__.selectCurrentComponentId)(state);
3121 - const path = (0,_store_store__WEBPACK_IMPORTED_MODULE_5__.selectPath)(state);
3122 - if (currentComponentId === null) {
3123 - return false;
3124 - }
3125 - if (componentIdToAdd === currentComponentId) {
3126 - return true;
3127 - }
3128 - return path.some(item => item.componentId === componentIdToAdd);
3129 -}
3130 -function extractComponentIdFromModel(model) {
3131 - if (!model) {
3132 - return null;
3133 - }
3134 - const isComponent = model.widgetType === COMPONENT_TYPE;
3135 - if (!isComponent) {
3136 - return null;
3137 - }
3138 - return model.settings?.component_instance?.value?.component_id?.value ?? null;
3139 -}
3140 -function extractComponentIdFromElement(element) {
3141 - if (element.widgetType !== COMPONENT_TYPE) {
3142 - return null;
3143 - }
3144 - return element.settings?.component_instance?.value?.component_id?.value ?? null;
3145 -}
3146 -function extractComponentIdsFromElements(elements) {
3147 - const ids = [];
3148 - for (const element of elements) {
3149 - const componentId = extractComponentIdFromElement(element);
3150 - if (componentId !== null) {
3151 - ids.push(componentId);
3152 - }
3153 - if (element.elements?.length) {
3154 - ids.push(...extractComponentIdsFromElements(element.elements));
3155 - }
3156 - }
3157 - return ids;
3158 -}
3159 -function extractComponentIdFromContainer(container) {
3160 - const widgetType = container.model?.get?.('widgetType');
3161 - if (widgetType !== COMPONENT_TYPE) {
3162 - return null;
3163 - }
3164 - const settings = container.model?.get?.('settings');
3165 - const componentInstance = settings?.get?.('component_instance');
3166 - return componentInstance?.value?.component_id?.value ?? null;
3167 -}
3168 -function blockCircularCreate(args) {
3169 - const componentId = extractComponentIdFromModel(args.model);
3170 - if (componentId === null) {
3171 - return false;
3172 - }
3173 - const isBlocked = wouldCreateCircularNesting(componentId);
3174 - if (isBlocked) {
3175 - (0,_elementor_editor_notifications__WEBPACK_IMPORTED_MODULE_1__.notify)(COMPONENT_CIRCULAR_NESTING_ALERT);
3176 - }
3177 - return isBlocked;
3178 -}
3179 -function blockCircularMove(args) {
3180 - const {
3181 - containers = [args.container]
3182 - } = args;
3183 - const hasCircularComponent = containers.some(container => {
3184 - if (!container) {
3185 - return false;
3186 - }
3187 - const allElements = (0,_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_0__.getAllDescendants)(container);
3188 - return allElements.some(element => {
3189 - const componentId = extractComponentIdFromContainer(element);
3190 - if (componentId === null) {
3191 - return false;
3192 - }
3193 - return wouldCreateCircularNesting(componentId);
3194 - });
3195 - });
3196 - if (hasCircularComponent) {
3197 - (0,_elementor_editor_notifications__WEBPACK_IMPORTED_MODULE_1__.notify)(COMPONENT_CIRCULAR_NESTING_ALERT);
3198 - }
3199 - return hasCircularComponent;
3200 -}
3201 -function blockCircularPaste(args) {
3202 - const {
3203 - storageType
3204 - } = args;
3205 - if (storageType !== 'localstorage') {
3206 - return false;
3207 - }
3208 - const data = window?.elementorCommon?.storage?.get();
3209 - if (!data?.clipboard?.elements) {
3210 - return false;
3211 - }
3212 - const allComponentIds = extractComponentIdsFromElements(data.clipboard.elements);
3213 - const hasCircularComponent = allComponentIds.some(wouldCreateCircularNesting);
3214 - if (hasCircularComponent) {
3215 - (0,_elementor_editor_notifications__WEBPACK_IMPORTED_MODULE_1__.notify)(COMPONENT_CIRCULAR_NESTING_ALERT);
3216 - }
3217 - return hasCircularComponent;
3218 -}
3219 -
3220 -/***/ }),
3221 -
3222 -/***/ "./packages/packages/core/editor-components/src/prop-types/component-instance-override-prop-type.ts":
3223 -/*!**********************************************************************************************************!*\
3224 - !*** ./packages/packages/core/editor-components/src/prop-types/component-instance-override-prop-type.ts ***!
3225 - \**********************************************************************************************************/
3226 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3227 -
3228 -__webpack_require__.r(__webpack_exports__);
3229 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3230 -/* harmony export */ componentInstanceOverridePropTypeUtil: function() { return /* binding */ componentInstanceOverridePropTypeUtil; }
3231 -/* harmony export */ });
3232 -/* harmony import */ var _elementor_editor_props__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-props */ "@elementor/editor-props");
3233 -/* harmony import */ var _elementor_editor_props__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_props__WEBPACK_IMPORTED_MODULE_0__);
3234 -/* harmony import */ var _elementor_schema__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/schema */ "@elementor/schema");
3235 -/* harmony import */ var _elementor_schema__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_schema__WEBPACK_IMPORTED_MODULE_1__);
3236 -
3237 -
3238 -const componentInstanceOverridePropTypeUtil = (0,_elementor_editor_props__WEBPACK_IMPORTED_MODULE_0__.createPropUtils)('override', _elementor_schema__WEBPACK_IMPORTED_MODULE_1__.z.object({
3239 - override_key: _elementor_schema__WEBPACK_IMPORTED_MODULE_1__.z.string(),
3240 - override_value: _elementor_schema__WEBPACK_IMPORTED_MODULE_1__.z.unknown(),
3241 - schema_source: _elementor_schema__WEBPACK_IMPORTED_MODULE_1__.z.object({
3242 - type: _elementor_schema__WEBPACK_IMPORTED_MODULE_1__.z.literal('component'),
3243 - id: _elementor_schema__WEBPACK_IMPORTED_MODULE_1__.z.number()
3244 - })
3245 -}));
3246 -
3247 -/***/ }),
3248 -
3249 -/***/ "./packages/packages/core/editor-components/src/prop-types/component-instance-overrides-prop-type.ts":
3250 -/*!***********************************************************************************************************!*\
3251 - !*** ./packages/packages/core/editor-components/src/prop-types/component-instance-overrides-prop-type.ts ***!
3252 - \***********************************************************************************************************/
3253 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3254 -
3255 -__webpack_require__.r(__webpack_exports__);
3256 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3257 -/* harmony export */ componentInstanceOverridesPropTypeUtil: function() { return /* binding */ componentInstanceOverridesPropTypeUtil; }
3258 -/* harmony export */ });
3259 -/* harmony import */ var _elementor_editor_props__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-props */ "@elementor/editor-props");
3260 -/* harmony import */ var _elementor_editor_props__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_props__WEBPACK_IMPORTED_MODULE_0__);
3261 -/* harmony import */ var _elementor_schema__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/schema */ "@elementor/schema");
3262 -/* harmony import */ var _elementor_schema__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_schema__WEBPACK_IMPORTED_MODULE_1__);
3263 -/* harmony import */ var _component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./component-instance-override-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-instance-override-prop-type.ts");
3264 -/* harmony import */ var _component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./component-overridable-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts");
3265 -
3266 -
3267 -
3268 -
3269 -const componentInstanceOverridesPropTypeUtil = (0,_elementor_editor_props__WEBPACK_IMPORTED_MODULE_0__.createPropUtils)('overrides', _elementor_schema__WEBPACK_IMPORTED_MODULE_1__.z.array(_elementor_schema__WEBPACK_IMPORTED_MODULE_1__.z.union([_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_2__.componentInstanceOverridePropTypeUtil.schema, _component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_3__.componentOverridablePropTypeUtil.schema])).optional().default([]));
3270 -
3271 -/***/ }),
3272 -
3273 -/***/ "./packages/packages/core/editor-components/src/prop-types/component-instance-prop-type.ts":
3274 -/*!*************************************************************************************************!*\
3275 - !*** ./packages/packages/core/editor-components/src/prop-types/component-instance-prop-type.ts ***!
3276 - \*************************************************************************************************/
3277 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3278 -
3279 -__webpack_require__.r(__webpack_exports__);
3280 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3281 -/* harmony export */ componentInstancePropTypeUtil: function() { return /* binding */ componentInstancePropTypeUtil; }
3282 -/* harmony export */ });
3283 -/* harmony import */ var _elementor_editor_props__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-props */ "@elementor/editor-props");
3284 -/* harmony import */ var _elementor_editor_props__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_props__WEBPACK_IMPORTED_MODULE_0__);
3285 -/* harmony import */ var _elementor_schema__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/schema */ "@elementor/schema");
3286 -/* harmony import */ var _elementor_schema__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_schema__WEBPACK_IMPORTED_MODULE_1__);
3287 -/* harmony import */ var _component_instance_overrides_prop_type__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./component-instance-overrides-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-instance-overrides-prop-type.ts");
3288 -
3289 -
3290 -
3291 -const componentInstancePropTypeUtil = (0,_elementor_editor_props__WEBPACK_IMPORTED_MODULE_0__.createPropUtils)('component-instance', _elementor_schema__WEBPACK_IMPORTED_MODULE_1__.z.object({
3292 - component_id: _elementor_editor_props__WEBPACK_IMPORTED_MODULE_0__.numberPropTypeUtil.schema,
3293 - overrides: _elementor_schema__WEBPACK_IMPORTED_MODULE_1__.z.optional(_component_instance_overrides_prop_type__WEBPACK_IMPORTED_MODULE_2__.componentInstanceOverridesPropTypeUtil.schema)
3294 -}));
3295 -
3296 -/***/ }),
3297 -
3298 -/***/ "./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts":
3299 -/*!****************************************************************************************************!*\
3300 - !*** ./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts ***!
3301 - \****************************************************************************************************/
3302 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3303 -
3304 -__webpack_require__.r(__webpack_exports__);
3305 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3306 -/* harmony export */ componentOverridablePropTypeUtil: function() { return /* binding */ componentOverridablePropTypeUtil; }
3307 -/* harmony export */ });
3308 -/* harmony import */ var _elementor_editor_props__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-props */ "@elementor/editor-props");
3309 -/* harmony import */ var _elementor_editor_props__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_props__WEBPACK_IMPORTED_MODULE_0__);
3310 -/* harmony import */ var _elementor_schema__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/schema */ "@elementor/schema");
3311 -/* harmony import */ var _elementor_schema__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_schema__WEBPACK_IMPORTED_MODULE_1__);
3312 -
3313 -
3314 -const componentOverridablePropTypeUtil = (0,_elementor_editor_props__WEBPACK_IMPORTED_MODULE_0__.createPropUtils)('overridable', _elementor_schema__WEBPACK_IMPORTED_MODULE_1__.z.object({
3315 - override_key: _elementor_schema__WEBPACK_IMPORTED_MODULE_1__.z.string(),
3316 - origin_value: _elementor_schema__WEBPACK_IMPORTED_MODULE_1__.z.object({
3317 - $$type: _elementor_schema__WEBPACK_IMPORTED_MODULE_1__.z.string(),
3318 - value: _elementor_schema__WEBPACK_IMPORTED_MODULE_1__.z.unknown()
3319 - }).nullable()
3320 -}));
3321 -
3322 -/***/ }),
3323 -
3324 -/***/ "./packages/packages/core/editor-components/src/provider/component-instance-context.tsx":
3325 -/*!**********************************************************************************************!*\
3326 - !*** ./packages/packages/core/editor-components/src/provider/component-instance-context.tsx ***!
3327 - \**********************************************************************************************/
3328 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3329 -
3330 -__webpack_require__.r(__webpack_exports__);
3331 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3332 -/* harmony export */ ComponentInstanceProvider: function() { return /* binding */ ComponentInstanceProvider; },
3333 -/* harmony export */ useComponentId: function() { return /* binding */ useComponentId; },
3334 -/* harmony export */ useComponentInstanceOverrides: function() { return /* binding */ useComponentInstanceOverrides; },
3335 -/* harmony export */ useComponentOverridableProps: function() { return /* binding */ useComponentOverridableProps; }
3336 -/* harmony export */ });
3337 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
3338 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
3339 -
3340 -
3341 -const ComponentInstanceContext = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);
3342 -function ComponentInstanceProvider({
3343 - children,
3344 - ...props
3345 -}) {
3346 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(ComponentInstanceContext.Provider, {
3347 - value: props
3348 - }, children);
3349 -}
3350 -function useComponentInstanceContext() {
3351 - const context = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(ComponentInstanceContext);
3352 - if (!context) {
3353 - throw new Error('useComponentInstanceContext must be used within a ComponentInstanceProvider');
3354 - }
3355 - return context;
3356 -}
3357 -const useComponentId = () => useComponentInstanceContext().componentId;
3358 -const useComponentInstanceOverrides = () => useComponentInstanceContext().overrides;
3359 -const useComponentOverridableProps = () => useComponentInstanceContext().overridableProps;
3360 -
3361 -/***/ }),
3362 -
3363 -/***/ "./packages/packages/core/editor-components/src/provider/overridable-prop-context.tsx":
3364 -/*!********************************************************************************************!*\
3365 - !*** ./packages/packages/core/editor-components/src/provider/overridable-prop-context.tsx ***!
3366 - \********************************************************************************************/
3367 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3368 -
3369 -__webpack_require__.r(__webpack_exports__);
3370 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3371 -/* harmony export */ OverridablePropProvider: function() { return /* binding */ OverridablePropProvider; },
3372 -/* harmony export */ useComponentInstanceElement: function() { return /* binding */ useComponentInstanceElement; },
3373 -/* harmony export */ useOverridablePropValue: function() { return /* binding */ useOverridablePropValue; }
3374 -/* harmony export */ });
3375 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
3376 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
3377 -
3378 -
3379 -const OverridablePropContext = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);
3380 -function OverridablePropProvider({
3381 - children,
3382 - ...props
3383 -}) {
3384 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(OverridablePropContext.Provider, {
3385 - value: props
3386 - }, children);
3387 -}
3388 -const useOverridablePropValue = () => (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(OverridablePropContext)?.value;
3389 -const useComponentInstanceElement = () => (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(OverridablePropContext)?.componentInstanceElement;
3390 -
3391 -/***/ }),
3392 -
3393 -/***/ "./packages/packages/core/editor-components/src/store/actions/load-components-assets.ts":
3394 -/*!**********************************************************************************************!*\
3395 - !*** ./packages/packages/core/editor-components/src/store/actions/load-components-assets.ts ***!
3396 - \**********************************************************************************************/
3397 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3398 -
3399 -__webpack_require__.r(__webpack_exports__);
3400 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3401 -/* harmony export */ loadComponentsAssets: function() { return /* binding */ loadComponentsAssets; }
3402 -/* harmony export */ });
3403 -/* harmony import */ var _elementor_editor_documents__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-documents */ "@elementor/editor-documents");
3404 -/* harmony import */ var _elementor_editor_documents__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_documents__WEBPACK_IMPORTED_MODULE_0__);
3405 -/* harmony import */ var _elementor_editor_embedded_documents_manager__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/editor-embedded-documents-manager */ "@elementor/editor-embedded-documents-manager");
3406 -/* harmony import */ var _elementor_editor_embedded_documents_manager__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_embedded_documents_manager__WEBPACK_IMPORTED_MODULE_1__);
3407 -/* harmony import */ var _utils_get_component_documents__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/get-component-documents */ "./packages/packages/core/editor-components/src/utils/get-component-documents.ts");
3408 -/* harmony import */ var _load_components_overridable_props__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./load-components-overridable-props */ "./packages/packages/core/editor-components/src/store/actions/load-components-overridable-props.ts");
3409 -
3410 -
3411 -
3412 -
3413 -async function loadComponentsAssets(elements) {
3414 - if (!elements.length) {
3415 - return;
3416 - }
3417 - const documents = await (0,_utils_get_component_documents__WEBPACK_IMPORTED_MODULE_2__.getComponentDocuments)({
3418 - elements,
3419 - isRecursive: false
3420 - });
3421 - updateDocumentState(documents);
3422 - documents.forEach((document, id) => {
3423 - _elementor_editor_embedded_documents_manager__WEBPACK_IMPORTED_MODULE_1__.embeddedDocumentsManager.setDocument(id, document);
3424 - });
3425 - await (0,_load_components_overridable_props__WEBPACK_IMPORTED_MODULE_3__.loadComponentsOverridableProps)([...documents.keys()]);
3426 -}
3427 -function updateDocumentState(documents) {
3428 - const isDrafted = [...documents.values()].some(_elementor_editor_documents__WEBPACK_IMPORTED_MODULE_0__.isDocumentDirty);
3429 - if (isDrafted) {
3430 - (0,_elementor_editor_documents__WEBPACK_IMPORTED_MODULE_0__.setDocumentModifiedStatus)(true);
3431 - }
3432 -}
3433 -
3434 -/***/ }),
3435 -
3436 -/***/ "./packages/packages/core/editor-components/src/store/actions/load-components-overridable-props.ts":
3437 -/*!*********************************************************************************************************!*\
3438 - !*** ./packages/packages/core/editor-components/src/store/actions/load-components-overridable-props.ts ***!
3439 - \*********************************************************************************************************/
3440 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3441 -
3442 -__webpack_require__.r(__webpack_exports__);
3443 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3444 -/* harmony export */ loadComponentsOverridableProps: function() { return /* binding */ loadComponentsOverridableProps; }
3445 -/* harmony export */ });
3446 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/store */ "@elementor/store");
3447 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_store__WEBPACK_IMPORTED_MODULE_0__);
3448 -/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../api */ "./packages/packages/core/editor-components/src/api.ts");
3449 -/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../store */ "./packages/packages/core/editor-components/src/store/store.ts");
3450 -
3451 -
3452 -
3453 -async function loadComponentsOverridableProps(componentIds) {
3454 - const unloadedIds = componentIds.filter(id => !(0,_store__WEBPACK_IMPORTED_MODULE_2__.selectIsOverridablePropsLoaded)((0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__getState)(), id));
3455 - if (!unloadedIds.length) {
3456 - return;
3457 - }
3458 - const {
3459 - data
3460 - } = await _api__WEBPACK_IMPORTED_MODULE_1__.apiClient.getOverridableProps(unloadedIds);
3461 - (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__dispatch)(_store__WEBPACK_IMPORTED_MODULE_2__.slice.actions.loadOverridableProps(data));
3462 -}
3463 -
3464 -/***/ }),
3465 -
3466 -/***/ "./packages/packages/core/editor-components/src/store/actions/remove-component-styles.ts":
3467 -/*!***********************************************************************************************!*\
3468 - !*** ./packages/packages/core/editor-components/src/store/actions/remove-component-styles.ts ***!
3469 - \***********************************************************************************************/
3470 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3471 -
3472 -__webpack_require__.r(__webpack_exports__);
3473 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3474 -/* harmony export */ removeComponentStyles: function() { return /* binding */ removeComponentStyles; }
3475 -/* harmony export */ });
3476 -/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../api */ "./packages/packages/core/editor-components/src/api.ts");
3477 -
3478 -function removeComponentStyles(id) {
3479 - _api__WEBPACK_IMPORTED_MODULE_0__.apiClient.invalidateComponentConfigCache(id);
3480 -}
3481 -
3482 -/***/ }),
3483 -
3484 -/***/ "./packages/packages/core/editor-components/src/store/actions/update-overridable-prop.ts":
3485 -/*!***********************************************************************************************!*\
3486 - !*** ./packages/packages/core/editor-components/src/store/actions/update-overridable-prop.ts ***!
3487 - \***********************************************************************************************/
3488 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3489 -
3490 -__webpack_require__.r(__webpack_exports__);
3491 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3492 -/* harmony export */ updateOverridableProp: function() { return /* binding */ updateOverridableProp; }
3493 -/* harmony export */ });
3494 -/* harmony import */ var _utils_resolve_override_prop_value__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/resolve-override-prop-value */ "./packages/packages/core/editor-components/src/utils/resolve-override-prop-value.ts");
3495 -/* harmony import */ var _dispatchers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dispatchers */ "./packages/packages/core/editor-components/src/store/dispatchers.ts");
3496 -/* harmony import */ var _selectors__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../selectors */ "./packages/packages/core/editor-components/src/store/selectors.ts");
3497 -
3498 -
3499 -
3500 -function updateOverridableProp(componentId, propValue, originPropFields) {
3501 - const overridableProps = _selectors__WEBPACK_IMPORTED_MODULE_2__.componentsSelectors.getOverridableProps(componentId);
3502 - if (!overridableProps) {
3503 - return;
3504 - }
3505 - const existingOverridableProp = overridableProps.props[propValue.override_key];
3506 - if (!existingOverridableProp) {
3507 - return;
3508 - }
3509 - const originValue = (0,_utils_resolve_override_prop_value__WEBPACK_IMPORTED_MODULE_0__.resolveOverridePropValue)(propValue.origin_value);
3510 - const newOverridableProp = originPropFields ? {
3511 - originValue,
3512 - originPropFields
3513 - } : {
3514 - originValue
3515 - };
3516 - const newOverridableProps = {
3517 - ...overridableProps,
3518 - props: {
3519 - ...overridableProps.props,
3520 - [existingOverridableProp.overrideKey]: {
3521 - ...existingOverridableProp,
3522 - ...newOverridableProp
3523 - }
3524 - }
3525 - };
3526 - _dispatchers__WEBPACK_IMPORTED_MODULE_1__.componentsActions.setOverridableProps(componentId, newOverridableProps);
3527 -}
3528 -
3529 -/***/ }),
3530 -
3531 -/***/ "./packages/packages/core/editor-components/src/store/dispatchers.ts":
3532 -/*!***************************************************************************!*\
3533 - !*** ./packages/packages/core/editor-components/src/store/dispatchers.ts ***!
3534 - \***************************************************************************/
3535 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3536 -
3537 -__webpack_require__.r(__webpack_exports__);
3538 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3539 -/* harmony export */ componentsActions: function() { return /* binding */ componentsActions; }
3540 -/* harmony export */ });
3541 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/store */ "@elementor/store");
3542 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_store__WEBPACK_IMPORTED_MODULE_0__);
3543 -/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./store */ "./packages/packages/core/editor-components/src/store/store.ts");
3544 -
3545 -
3546 -function safeDispatch() {
3547 - return (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__getStore)()?.dispatch;
3548 -}
3549 -const componentsActions = {
3550 - add(components) {
3551 - (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__dispatch)(_store__WEBPACK_IMPORTED_MODULE_1__.slice.actions.add(components));
3552 - },
3553 - load(components) {
3554 - (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__dispatch)(_store__WEBPACK_IMPORTED_MODULE_1__.slice.actions.load(components));
3555 - },
3556 - addUnpublished(component) {
3557 - (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__dispatch)(_store__WEBPACK_IMPORTED_MODULE_1__.slice.actions.addUnpublished(component));
3558 - },
3559 - removeUnpublished(uids) {
3560 - (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__dispatch)(_store__WEBPACK_IMPORTED_MODULE_1__.slice.actions.removeUnpublished(uids));
3561 - },
3562 - resetUnpublished() {
3563 - (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__dispatch)(_store__WEBPACK_IMPORTED_MODULE_1__.slice.actions.resetUnpublished());
3564 - },
3565 - addCreatedThisSession(uid) {
3566 - (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__dispatch)(_store__WEBPACK_IMPORTED_MODULE_1__.slice.actions.addCreatedThisSession(uid));
3567 - },
3568 - removeCreatedThisSession(uid) {
3569 - (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__dispatch)(_store__WEBPACK_IMPORTED_MODULE_1__.slice.actions.removeCreatedThisSession(uid));
3570 - },
3571 - archive(componentId) {
3572 - (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__dispatch)(_store__WEBPACK_IMPORTED_MODULE_1__.slice.actions.archive(componentId));
3573 - },
3574 - setCurrentComponentId(id) {
3575 - safeDispatch()?.(_store__WEBPACK_IMPORTED_MODULE_1__.slice.actions.setCurrentComponentId(id));
3576 - },
3577 - setPath(path) {
3578 - safeDispatch()?.(_store__WEBPACK_IMPORTED_MODULE_1__.slice.actions.setPath(path));
3579 - },
3580 - setOverridableProps(componentId, overridableProps) {
3581 - (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__dispatch)(_store__WEBPACK_IMPORTED_MODULE_1__.slice.actions.setOverridableProps({
3582 - componentId,
3583 - overridableProps
3584 - }));
3585 - },
3586 - rename(componentUid, name) {
3587 - (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__dispatch)(_store__WEBPACK_IMPORTED_MODULE_1__.slice.actions.rename({
3588 - componentUid,
3589 - name
3590 - }));
3591 - },
3592 - cleanUpdatedComponentNames() {
3593 - (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__dispatch)(_store__WEBPACK_IMPORTED_MODULE_1__.slice.actions.cleanUpdatedComponentNames());
3594 - },
3595 - updateComponentSanitizedAttribute(componentId, attribute) {
3596 - (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__dispatch)(_store__WEBPACK_IMPORTED_MODULE_1__.slice.actions.updateComponentSanitizedAttribute({
3597 - componentId,
3598 - attribute
3599 - }));
3600 - },
3601 - resetSanitizedComponents() {
3602 - (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__dispatch)(_store__WEBPACK_IMPORTED_MODULE_1__.slice.actions.resetSanitizedComponents());
3603 - }
3604 -};
3605 -
3606 -/***/ }),
3607 -
3608 -/***/ "./packages/packages/core/editor-components/src/store/extensible-slice.ts":
3609 -/*!********************************************************************************!*\
3610 - !*** ./packages/packages/core/editor-components/src/store/extensible-slice.ts ***!
3611 - \********************************************************************************/
3612 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3613 -
3614 -__webpack_require__.r(__webpack_exports__);
3615 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3616 -/* harmony export */ __resetExtraReducers: function() { return /* binding */ __resetExtraReducers; },
3617 -/* harmony export */ createComponentsAction: function() { return /* binding */ createComponentsAction; },
3618 -/* harmony export */ registerComponentsReducer: function() { return /* binding */ registerComponentsReducer; },
3619 -/* harmony export */ slice: function() { return /* binding */ slice; }
3620 -/* harmony export */ });
3621 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/store */ "@elementor/store");
3622 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_store__WEBPACK_IMPORTED_MODULE_0__);
3623 -/* harmony import */ var _store_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./store-types */ "./packages/packages/core/editor-components/src/store/store-types.ts");
3624 -/* harmony import */ var _thunks__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./thunks */ "./packages/packages/core/editor-components/src/store/thunks.ts");
3625 -
3626 -
3627 -
3628 -const extraReducersMap = new Map();
3629 -function registerComponentsReducer(name, reducer) {
3630 - extraReducersMap.set(`${_store_types__WEBPACK_IMPORTED_MODULE_1__.SLICE_NAME}/${name}`, reducer);
3631 -}
3632 -function createComponentsAction(name) {
3633 - const action = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__createAction)(`${_store_types__WEBPACK_IMPORTED_MODULE_1__.SLICE_NAME}/${name}`);
3634 - return {
3635 - action,
3636 - register(reducer) {
3637 - registerComponentsReducer(name, reducer);
3638 - },
3639 - dispatch(payload) {
3640 - (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__dispatch)(action(payload));
3641 - }
3642 - };
3643 -}
3644 -function __resetExtraReducers() {
3645 - extraReducersMap.clear();
3646 -}
3647 -const baseSlice = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__createSlice)({
3648 - name: _store_types__WEBPACK_IMPORTED_MODULE_1__.SLICE_NAME,
3649 - initialState: _store_types__WEBPACK_IMPORTED_MODULE_1__.initialState,
3650 - reducers: {
3651 - add: (state, {
3652 - payload
3653 - }) => {
3654 - if (Array.isArray(payload)) {
3655 - state.data = [...payload, ...state.data];
3656 - } else {
3657 - state.data.unshift(payload);
3658 - }
3659 - },
3660 - load: (state, {
3661 - payload
3662 - }) => {
3663 - state.data = payload;
3664 - },
3665 - addUnpublished: (state, {
3666 - payload
3667 - }) => {
3668 - state.unpublishedData.unshift(payload);
3669 - },
3670 - removeUnpublished: (state, {
3671 - payload
3672 - }) => {
3673 - const uidsToRemove = Array.isArray(payload) ? payload : [payload];
3674 - state.unpublishedData = state.unpublishedData.filter(component => !uidsToRemove.includes(component.uid));
3675 - },
3676 - resetUnpublished: state => {
3677 - state.unpublishedData = [];
3678 - },
3679 - addCreatedThisSession: (state, {
3680 - payload
3681 - }) => {
3682 - state.createdThisSession.push(payload);
3683 - },
3684 - removeCreatedThisSession: (state, {
3685 - payload
3686 - }) => {
3687 - state.createdThisSession = state.createdThisSession.filter(uid => uid !== payload);
3688 - },
3689 - archive: (state, {
3690 - payload
3691 - }) => {
3692 - const component = state.data.find(comp => comp.id === payload);
3693 - if (component) {
3694 - component.isArchived = true;
3695 - state.archivedThisSession.push(payload);
3696 - }
3697 - },
3698 - setCurrentComponentId: (state, {
3699 - payload
3700 - }) => {
3701 - state.currentComponentId = payload;
3702 - },
3703 - setPath: (state, {
3704 - payload
3705 - }) => {
3706 - state.path = payload;
3707 - },
3708 - setOverridableProps: (state, {
3709 - payload
3710 - }) => {
3711 - const component = state.data.find(comp => comp.id === payload.componentId);
3712 - if (!component) {
3713 - return;
3714 - }
3715 - component.overridableProps = payload.overridableProps;
3716 - },
3717 - loadOverridableProps: (state, {
3718 - payload
3719 - }) => {
3720 - const componentIds = Object.keys(payload);
3721 - componentIds.forEach(id => {
3722 - const componentId = Number(id);
3723 - const overridableProps = payload[componentId];
3724 - const component = state.data.find(comp => comp.id === componentId);
3725 - if (!component || !overridableProps) {
3726 - return;
3727 - }
3728 - component.overridableProps = overridableProps;
3729 - });
3730 - },
3731 - rename: (state, {
3732 - payload
3733 - }) => {
3734 - const component = state.data.find(comp => comp.uid === payload.componentUid);
3735 - if (!component) {
3736 - return;
3737 - }
3738 - if (component.id) {
3739 - state.updatedComponentNames[component.id] = payload.name;
3740 - }
3741 - component.name = payload.name;
3742 - },
3743 - cleanUpdatedComponentNames: state => {
3744 - state.updatedComponentNames = {};
3745 - },
3746 - updateComponentSanitizedAttribute: (state, {
3747 - payload: {
3748 - componentId,
3749 - attribute
3750 - }
3751 - }) => {
3752 - if (!state.sanitized[componentId]) {
3753 - state.sanitized[componentId] = {};
3754 - }
3755 - state.sanitized[componentId][attribute] = true;
3756 - },
3757 - resetSanitizedComponents: state => {
3758 - state.sanitized = {};
3759 - }
3760 - },
3761 - extraReducers: builder => {
3762 - builder.addCase(_thunks__WEBPACK_IMPORTED_MODULE_2__.loadComponents.fulfilled, (state, {
3763 - payload
3764 - }) => {
3765 - state.data = payload;
3766 - state.loadStatus = 'idle';
3767 - });
3768 - builder.addCase(_thunks__WEBPACK_IMPORTED_MODULE_2__.loadComponents.pending, state => {
3769 - state.loadStatus = 'pending';
3770 - });
3771 - builder.addCase(_thunks__WEBPACK_IMPORTED_MODULE_2__.loadComponents.rejected, state => {
3772 - state.loadStatus = 'error';
3773 - });
3774 - }
3775 -});
3776 -const slice = {
3777 - ...baseSlice,
3778 - reducer(state, action) {
3779 - const nextState = baseSlice.reducer(state, action);
3780 - const extraReducer = extraReducersMap.get(action.type);
3781 - if (!extraReducer || !nextState) {
3782 - return nextState;
3783 - }
3784 - const clonedState = structuredClone(nextState);
3785 - extraReducer(clonedState, action);
3786 - return clonedState;
3787 - }
3788 -};
3789 -
3790 -/***/ }),
3791 -
3792 -/***/ "./packages/packages/core/editor-components/src/store/selectors.ts":
3793 -/*!*************************************************************************!*\
3794 - !*** ./packages/packages/core/editor-components/src/store/selectors.ts ***!
3795 - \*************************************************************************/
3796 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3797 -
3798 -__webpack_require__.r(__webpack_exports__);
3799 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3800 -/* harmony export */ componentsSelectors: function() { return /* binding */ componentsSelectors; }
3801 -/* harmony export */ });
3802 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/store */ "@elementor/store");
3803 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_store__WEBPACK_IMPORTED_MODULE_0__);
3804 -/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./store */ "./packages/packages/core/editor-components/src/store/store.ts");
3805 -
3806 -
3807 -function safeGetState() {
3808 - return (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__getStore)()?.getState();
3809 -}
3810 -const componentsSelectors = {
3811 - getOverridableProps(componentId) {
3812 - return (0,_store__WEBPACK_IMPORTED_MODULE_1__.selectOverridableProps)((0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__getState)(), componentId);
3813 - },
3814 - getCurrentComponent() {
3815 - return (0,_store__WEBPACK_IMPORTED_MODULE_1__.selectCurrentComponent)((0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__getState)());
3816 - },
3817 - getCurrentComponentId() {
3818 - const state = safeGetState();
3819 - if (!state) {
3820 - return null;
3821 - }
3822 - return (0,_store__WEBPACK_IMPORTED_MODULE_1__.selectCurrentComponentId)(state);
3823 - },
3824 - getUnpublishedComponents() {
3825 - return (0,_store__WEBPACK_IMPORTED_MODULE_1__.selectUnpublishedComponents)((0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__getState)());
3826 - },
3827 - getUpdatedComponentNames() {
3828 - return (0,_store__WEBPACK_IMPORTED_MODULE_1__.selectUpdatedComponentNames)((0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__getState)());
3829 - },
3830 - getArchivedThisSession() {
3831 - return (0,_store__WEBPACK_IMPORTED_MODULE_1__.selectArchivedThisSession)((0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__getState)());
3832 - },
3833 - getCreatedThisSession() {
3834 - return (0,_store__WEBPACK_IMPORTED_MODULE_1__.selectCreatedThisSession)((0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__getState)());
3835 - },
3836 - getComponents() {
3837 - return (0,_store__WEBPACK_IMPORTED_MODULE_1__.selectComponents)((0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__getState)());
3838 - },
3839 - getComponentByUid(componentUid) {
3840 - return (0,_store__WEBPACK_IMPORTED_MODULE_1__.selectComponentByUid)((0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__getState)(), componentUid);
3841 - }
3842 -};
3843 -
3844 -/***/ }),
3845 -
3846 -/***/ "./packages/packages/core/editor-components/src/store/store-types.ts":
3847 -/*!***************************************************************************!*\
3848 - !*** ./packages/packages/core/editor-components/src/store/store-types.ts ***!
3849 - \***************************************************************************/
3850 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3851 -
3852 -__webpack_require__.r(__webpack_exports__);
3853 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3854 -/* harmony export */ SLICE_NAME: function() { return /* binding */ SLICE_NAME; },
3855 -/* harmony export */ initialState: function() { return /* binding */ initialState; }
3856 -/* harmony export */ });
3857 -const initialState = {
3858 - data: [],
3859 - unpublishedData: [],
3860 - loadStatus: 'idle',
3861 - createdThisSession: [],
3862 - archivedThisSession: [],
3863 - path: [],
3864 - currentComponentId: null,
3865 - updatedComponentNames: {},
3866 - sanitized: {}
3867 -};
3868 -const SLICE_NAME = 'components';
3869 -
3870 -/***/ }),
3871 -
3872 -/***/ "./packages/packages/core/editor-components/src/store/store.ts":
3873 -/*!*********************************************************************!*\
3874 - !*** ./packages/packages/core/editor-components/src/store/store.ts ***!
3875 - \*********************************************************************/
3876 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3877 -
3878 -__webpack_require__.r(__webpack_exports__);
3879 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3880 -/* harmony export */ SLICE_NAME: function() { return /* reexport safe */ _store_types__WEBPACK_IMPORTED_MODULE_1__.SLICE_NAME; },
3881 -/* harmony export */ __resetExtraReducers: function() { return /* reexport safe */ _extensible_slice__WEBPACK_IMPORTED_MODULE_2__.__resetExtraReducers; },
3882 -/* harmony export */ createComponentsAction: function() { return /* reexport safe */ _extensible_slice__WEBPACK_IMPORTED_MODULE_2__.createComponentsAction; },
3883 -/* harmony export */ initialState: function() { return /* reexport safe */ _store_types__WEBPACK_IMPORTED_MODULE_1__.initialState; },
3884 -/* harmony export */ registerComponentsReducer: function() { return /* reexport safe */ _extensible_slice__WEBPACK_IMPORTED_MODULE_2__.registerComponentsReducer; },
3885 -/* harmony export */ selectArchivedThisSession: function() { return /* binding */ selectArchivedThisSession; },
3886 -/* harmony export */ selectComponent: function() { return /* binding */ selectComponent; },
3887 -/* harmony export */ selectComponentByUid: function() { return /* binding */ selectComponentByUid; },
3888 -/* harmony export */ selectComponents: function() { return /* binding */ selectComponents; },
3889 -/* harmony export */ selectCreatedThisSession: function() { return /* binding */ selectCreatedThisSession; },
3890 -/* harmony export */ selectCurrentComponent: function() { return /* binding */ selectCurrentComponent; },
3891 -/* harmony export */ selectCurrentComponentId: function() { return /* binding */ selectCurrentComponentId; },
3892 -/* harmony export */ selectData: function() { return /* binding */ selectData; },
3893 -/* harmony export */ selectIsOverridablePropsLoaded: function() { return /* binding */ selectIsOverridablePropsLoaded; },
3894 -/* harmony export */ selectLoadIsError: function() { return /* binding */ selectLoadIsError; },
3895 -/* harmony export */ selectLoadIsPending: function() { return /* binding */ selectLoadIsPending; },
3896 -/* harmony export */ selectOverridableProps: function() { return /* binding */ selectOverridableProps; },
3897 -/* harmony export */ selectPath: function() { return /* binding */ selectPath; },
3898 -/* harmony export */ selectUnpublishedComponents: function() { return /* binding */ selectUnpublishedComponents; },
3899 -/* harmony export */ selectUpdatedComponentNames: function() { return /* binding */ selectUpdatedComponentNames; },
3900 -/* harmony export */ slice: function() { return /* reexport safe */ _extensible_slice__WEBPACK_IMPORTED_MODULE_2__.slice; },
3901 -/* harmony export */ useComponent: function() { return /* binding */ useComponent; },
3902 -/* harmony export */ useCurrentComponent: function() { return /* binding */ useCurrentComponent; },
3903 -/* harmony export */ useCurrentComponentId: function() { return /* binding */ useCurrentComponentId; },
3904 -/* harmony export */ useIsSanitizedComponent: function() { return /* binding */ useIsSanitizedComponent; },
3905 -/* harmony export */ useOverridableProps: function() { return /* binding */ useOverridableProps; }
3906 -/* harmony export */ });
3907 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/store */ "@elementor/store");
3908 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_store__WEBPACK_IMPORTED_MODULE_0__);
3909 -/* harmony import */ var _store_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./store-types */ "./packages/packages/core/editor-components/src/store/store-types.ts");
3910 -/* harmony import */ var _extensible_slice__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./extensible-slice */ "./packages/packages/core/editor-components/src/store/extensible-slice.ts");
3911 -
3912 -
3913 -
3914 -
3915 -const selectData = state => state[_store_types__WEBPACK_IMPORTED_MODULE_1__.SLICE_NAME].data;
3916 -const selectArchivedThisSession = state => state[_store_types__WEBPACK_IMPORTED_MODULE_1__.SLICE_NAME].archivedThisSession;
3917 -const selectLoadStatus = state => state[_store_types__WEBPACK_IMPORTED_MODULE_1__.SLICE_NAME].loadStatus;
3918 -const selectUnpublishedData = state => state[_store_types__WEBPACK_IMPORTED_MODULE_1__.SLICE_NAME].unpublishedData;
3919 -const getCreatedThisSession = state => state[_store_types__WEBPACK_IMPORTED_MODULE_1__.SLICE_NAME].createdThisSession;
3920 -const getPath = state => state[_store_types__WEBPACK_IMPORTED_MODULE_1__.SLICE_NAME].path;
3921 -const getCurrentComponentId = state => state[_store_types__WEBPACK_IMPORTED_MODULE_1__.SLICE_NAME].currentComponentId;
3922 -const selectComponent = (state, componentId) => state[_store_types__WEBPACK_IMPORTED_MODULE_1__.SLICE_NAME].data.find(component => component.id === componentId);
3923 -const useComponent = componentId => {
3924 - return (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__useSelector)(state => componentId ? selectComponent(state, componentId) : null);
3925 -};
3926 -const selectComponentByUid = (state, componentUid) => state[_store_types__WEBPACK_IMPORTED_MODULE_1__.SLICE_NAME].data.find(component => component.uid === componentUid) ?? state[_store_types__WEBPACK_IMPORTED_MODULE_1__.SLICE_NAME].unpublishedData.find(component => component.uid === componentUid);
3927 -const selectComponents = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__createSelector)(selectData, selectUnpublishedData, (data, unpublishedData) => [...unpublishedData.map(item => ({
3928 - uid: item.uid,
3929 - name: item.name,
3930 - overridableProps: item.overridableProps
3931 -})), ...data.filter(component => !component.isArchived)]);
3932 -const selectUnpublishedComponents = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__createSelector)(selectUnpublishedData, unpublishedData => unpublishedData);
3933 -const selectLoadIsPending = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__createSelector)(selectLoadStatus, status => status === 'pending');
3934 -const selectLoadIsError = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__createSelector)(selectLoadStatus, status => status === 'error');
3935 -const selectCreatedThisSession = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__createSelector)(getCreatedThisSession, createdThisSession => createdThisSession);
3936 -const DEFAULT_OVERRIDABLE_PROPS = {
3937 - props: {},
3938 - groups: {
3939 - items: {},
3940 - order: []
3941 - }
3942 -};
3943 -const selectOverridableProps = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__createSelector)(selectComponent, component => {
3944 - if (!component) {
3945 - return undefined;
3946 - }
3947 - return component.overridableProps ?? DEFAULT_OVERRIDABLE_PROPS;
3948 -});
3949 -const useOverridableProps = componentId => {
3950 - return (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__useSelector)(state => componentId ? selectOverridableProps(state, componentId) : null);
3951 -};
3952 -const selectIsOverridablePropsLoaded = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__createSelector)(selectComponent, component => {
3953 - return !!component?.overridableProps;
3954 -});
3955 -const selectPath = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__createSelector)(getPath, path => path);
3956 -const selectCurrentComponentId = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__createSelector)(getCurrentComponentId, currentComponentId => currentComponentId);
3957 -const selectCurrentComponent = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__createSelector)(selectData, getCurrentComponentId, (data, currentComponentId) => data.find(component => component.id === currentComponentId));
3958 -const useCurrentComponentId = () => {
3959 - return (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__useSelector)(selectCurrentComponentId);
3960 -};
3961 -const useCurrentComponent = () => {
3962 - return (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__useSelector)(selectCurrentComponent);
3963 -};
3964 -const selectUpdatedComponentNames = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__createSelector)(state => state[_store_types__WEBPACK_IMPORTED_MODULE_1__.SLICE_NAME].updatedComponentNames, updatedComponentNames => Object.entries(updatedComponentNames).map(([componentId, title]) => ({
3965 - componentId: Number(componentId),
3966 - title
3967 -})));
3968 -const useSanitizedComponents = () => {
3969 - return (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__useSelector)(state => state[_store_types__WEBPACK_IMPORTED_MODULE_1__.SLICE_NAME].sanitized);
3970 -};
3971 -const useIsSanitizedComponent = (componentId, key) => {
3972 - const sanitizedComponents = useSanitizedComponents();
3973 - if (!componentId) {
3974 - return false;
3975 - }
3976 - return !!sanitizedComponents[componentId]?.[key];
3977 -};
3978 -
3979 -/***/ }),
3980 -
3981 -/***/ "./packages/packages/core/editor-components/src/store/thunks.ts":
3982 -/*!**********************************************************************!*\
3983 - !*** ./packages/packages/core/editor-components/src/store/thunks.ts ***!
3984 - \**********************************************************************/
3985 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3986 -
3987 -__webpack_require__.r(__webpack_exports__);
3988 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3989 -/* harmony export */ loadComponents: function() { return /* binding */ loadComponents; }
3990 -/* harmony export */ });
3991 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/store */ "@elementor/store");
3992 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_store__WEBPACK_IMPORTED_MODULE_0__);
3993 -/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../api */ "./packages/packages/core/editor-components/src/api.ts");
3994 -
3995 -
3996 -const loadComponents = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__createAsyncThunk)('components/load', async () => {
3997 - const response = await _api__WEBPACK_IMPORTED_MODULE_1__.apiClient.get();
3998 - return response;
3999 -});
4000 -
4001 -
4002 -/***/ }),
4003 -
4004 -/***/ "./packages/packages/core/editor-components/src/sync/before-save.ts":
4005 -/*!**************************************************************************!*\
4006 - !*** ./packages/packages/core/editor-components/src/sync/before-save.ts ***!
4007 - \**************************************************************************/
4008 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4009 -
4010 -__webpack_require__.r(__webpack_exports__);
4011 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4012 -/* harmony export */ beforeSave: function() { return /* binding */ beforeSave; }
4013 -/* harmony export */ });
4014 -/* harmony import */ var _publish_draft_components_in_page_before_save__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./publish-draft-components-in-page-before-save */ "./packages/packages/core/editor-components/src/sync/publish-draft-components-in-page-before-save.ts");
4015 -
4016 -const beforeSave = ({
4017 - container,
4018 - status
4019 -}) => {
4020 - const elements = container?.model.get('elements').toJSON?.() ?? [];
4021 - return (0,_publish_draft_components_in_page_before_save__WEBPACK_IMPORTED_MODULE_0__.publishDraftComponentsInPageBeforeSave)({
4022 - elements,
4023 - status
4024 - });
4025 -};
4026 -
4027 -/***/ }),
4028 -
4029 -/***/ "./packages/packages/core/editor-components/src/sync/load-component-data-after-instance-added.ts":
4030 -/*!*******************************************************************************************************!*\
4031 - !*** ./packages/packages/core/editor-components/src/sync/load-component-data-after-instance-added.ts ***!
4032 - \*******************************************************************************************************/
4033 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4034 -
4035 -__webpack_require__.r(__webpack_exports__);
4036 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4037 -/* harmony export */ initLoadComponentDataAfterInstanceAdded: function() { return /* binding */ initLoadComponentDataAfterInstanceAdded; }
4038 -/* harmony export */ });
4039 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-v1-adapters */ "@elementor/editor-v1-adapters");
4040 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__);
4041 -/* harmony import */ var _store_actions_load_components_assets__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../store/actions/load-components-assets */ "./packages/packages/core/editor-components/src/store/actions/load-components-assets.ts");
4042 -
4043 -
4044 -function initLoadComponentDataAfterInstanceAdded() {
4045 - (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.registerDataHook)('after', 'document/elements/paste', (_args, result) => {
4046 - load(result);
4047 - });
4048 - (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.registerDataHook)('after', 'document/elements/import', (_args, result) => {
4049 - load(result);
4050 - });
4051 -}
4052 -function load(result) {
4053 - if (!result) {
4054 - return;
4055 - }
4056 - const containers = Array.isArray(result) ? result : [result];
4057 - const elements = containers.map(container => container.model?.toJSON()).filter(element => !!element);
4058 - (0,_store_actions_load_components_assets__WEBPACK_IMPORTED_MODULE_1__.loadComponentsAssets)(elements);
4059 -}
4060 -
4061 -/***/ }),
4062 -
4063 -/***/ "./packages/packages/core/editor-components/src/sync/publish-draft-components-in-page-before-save.ts":
4064 -/*!***********************************************************************************************************!*\
4065 - !*** ./packages/packages/core/editor-components/src/sync/publish-draft-components-in-page-before-save.ts ***!
4066 - \***********************************************************************************************************/
4067 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4068 -
4069 -__webpack_require__.r(__webpack_exports__);
4070 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4071 -/* harmony export */ publishDraftComponentsInPageBeforeSave: function() { return /* binding */ publishDraftComponentsInPageBeforeSave; }
4072 -/* harmony export */ });
4073 -/* harmony import */ var _elementor_editor_documents__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-documents */ "@elementor/editor-documents");
4074 -/* harmony import */ var _elementor_editor_documents__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_documents__WEBPACK_IMPORTED_MODULE_0__);
4075 -/* harmony import */ var _elementor_editor_notifications__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/editor-notifications */ "@elementor/editor-notifications");
4076 -/* harmony import */ var _elementor_editor_notifications__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_notifications__WEBPACK_IMPORTED_MODULE_1__);
4077 -/* harmony import */ var _elementor_http_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/http-client */ "@elementor/http-client");
4078 -/* harmony import */ var _elementor_http_client__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_http_client__WEBPACK_IMPORTED_MODULE_2__);
4079 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
4080 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__);
4081 -/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../api */ "./packages/packages/core/editor-components/src/api.ts");
4082 -/* harmony import */ var _utils_get_component_documents__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/get-component-documents */ "./packages/packages/core/editor-components/src/utils/get-component-documents.ts");
4083 -
4084 -
4085 -
4086 -
4087 -
4088 -
4089 -const INSUFFICIENT_PERMISSIONS_ERROR_CODE = 'insufficient_permissions';
4090 -const PUBLISH_UPGRADE_URL = 'https://go.elementor.com/go-pro-components-Instance-draft-failure/';
4091 -const PUBLISH_UPGRADE_NOTIFICATION_ID = 'component-publish-upgrade';
4092 -async function publishDraftComponentsInPageBeforeSave({
4093 - status,
4094 - elements
4095 -}) {
4096 - if (status !== 'publish') {
4097 - return;
4098 - }
4099 - const documents = await (0,_utils_get_component_documents__WEBPACK_IMPORTED_MODULE_5__.getComponentDocuments)({
4100 - elements
4101 - });
4102 - const draftIds = [...documents.values()].filter(_elementor_editor_documents__WEBPACK_IMPORTED_MODULE_0__.isDocumentDirty).map(document => document.id);
4103 - if (draftIds.length === 0) {
4104 - return;
4105 - }
4106 - try {
4107 - await _api__WEBPACK_IMPORTED_MODULE_4__.apiClient.updateStatuses(draftIds, 'publish');
4108 - } catch (error) {
4109 - if (isInsufficientPermissionsError(error)) {
4110 - notifyPublishUpgrade();
4111 - return;
4112 - }
4113 - throw error;
4114 - }
4115 - draftIds.forEach(id => (0,_elementor_editor_documents__WEBPACK_IMPORTED_MODULE_0__.invalidateDocumentData)(id));
4116 -}
4117 -function isInsufficientPermissionsError(error) {
4118 - return error instanceof _elementor_http_client__WEBPACK_IMPORTED_MODULE_2__.AxiosError && error.response?.data?.code === INSUFFICIENT_PERMISSIONS_ERROR_CODE;
4119 -}
4120 -function notifyPublishUpgrade() {
4121 - (0,_elementor_editor_notifications__WEBPACK_IMPORTED_MODULE_1__.notify)({
4122 - type: 'promotion',
4123 - id: PUBLISH_UPGRADE_NOTIFICATION_ID,
4124 - message: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('You have unpublished component on this page. You need a pro version to publish it.', 'elementor'),
4125 - additionalActionProps: [{
4126 - size: 'small',
4127 - variant: 'contained',
4128 - color: 'promotion',
4129 - href: PUBLISH_UPGRADE_URL,
4130 - target: '_blank',
4131 - children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Upgrade Now', 'elementor')
4132 - }]
4133 - });
4134 -}
4135 -
4136 -/***/ }),
4137 -
4138 -/***/ "./packages/packages/core/editor-components/src/utils/component-document-data.ts":
4139 -/*!***************************************************************************************!*\
4140 - !*** ./packages/packages/core/editor-components/src/utils/component-document-data.ts ***!
4141 - \***************************************************************************************/
4142 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4143 -
4144 -__webpack_require__.r(__webpack_exports__);
4145 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4146 -/* harmony export */ getComponentDocumentData: function() { return /* binding */ getComponentDocumentData; }
4147 -/* harmony export */ });
4148 -/* harmony import */ var _elementor_editor_documents__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-documents */ "@elementor/editor-documents");
4149 -/* harmony import */ var _elementor_editor_documents__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_documents__WEBPACK_IMPORTED_MODULE_0__);
4150 -
4151 -const getComponentDocumentData = async id => {
4152 - const documentManager = (0,_elementor_editor_documents__WEBPACK_IMPORTED_MODULE_0__.getV1DocumentsManager)();
4153 - try {
4154 - return await documentManager.request(id);
4155 - } catch {
4156 - return null;
4157 - }
4158 -};
4159 -
4160 -/***/ }),
4161 -
4162 -/***/ "./packages/packages/core/editor-components/src/utils/detach-component-instance/detach-component-instance.ts":
4163 -/*!*******************************************************************************************************************!*\
4164 - !*** ./packages/packages/core/editor-components/src/utils/detach-component-instance/detach-component-instance.ts ***!
4165 - \*******************************************************************************************************************/
4166 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4167 -
4168 -__webpack_require__.r(__webpack_exports__);
4169 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4170 -/* harmony export */ detachComponentInstance: function() { return /* binding */ detachComponentInstance; }
4171 -/* harmony export */ });
4172 -/* harmony import */ var _elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-canvas */ "@elementor/editor-canvas");
4173 -/* harmony import */ var _elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_0__);
4174 -/* harmony import */ var _elementor_editor_elements__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/editor-elements */ "@elementor/editor-elements");
4175 -/* harmony import */ var _elementor_editor_elements__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_1__);
4176 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/editor-v1-adapters */ "@elementor/editor-v1-adapters");
4177 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_2__);
4178 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @elementor/store */ "@elementor/store");
4179 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_elementor_store__WEBPACK_IMPORTED_MODULE_3__);
4180 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
4181 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__);
4182 -/* harmony import */ var _prop_types_component_instance_overrides_prop_type__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../prop-types/component-instance-overrides-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-instance-overrides-prop-type.ts");
4183 -/* harmony import */ var _prop_types_component_instance_prop_type__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../prop-types/component-instance-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-instance-prop-type.ts");
4184 -/* harmony import */ var _store_store__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../store/store */ "./packages/packages/core/editor-components/src/store/store.ts");
4185 -/* harmony import */ var _component_document_data__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../component-document-data */ "./packages/packages/core/editor-components/src/utils/component-document-data.ts");
4186 -/* harmony import */ var _tracking__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../tracking */ "./packages/packages/core/editor-components/src/utils/tracking.ts");
4187 -/* harmony import */ var _resolve_detached_instance__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./resolve-detached-instance */ "./packages/packages/core/editor-components/src/utils/detach-component-instance/resolve-detached-instance.ts");
4188 -
4189 -
4190 -
4191 -
4192 -
4193 -
4194 -
4195 -
4196 -
4197 -
4198 -
4199 -const DETACH_EVENT = 'elementor/components/detach-instance';
4200 -const DETACH_UNDO_EVENT = 'elementor/components/undo-detach-instance';
4201 -const DETACH_REDO_EVENT = 'elementor/components/redo-detach-instance';
4202 -async function detachComponentInstance({
4203 - instanceId,
4204 - componentId,
4205 - trackingInfo
4206 -}) {
4207 - const instanceContainer = (0,_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_1__.getContainer)(instanceId);
4208 - if (!instanceContainer) {
4209 - throw new Error(`Instance container with ID "${instanceId}" not found.`);
4210 - }
4211 - const componentData = await (0,_component_document_data__WEBPACK_IMPORTED_MODULE_8__.getComponentDocumentData)(componentId);
4212 - if (!componentData) {
4213 - throw new Error(`Component with ID "${componentId}" not found.`);
4214 - }
4215 - const rootElement = componentData.elements?.[0];
4216 - if (!rootElement) {
4217 - throw new Error(`Component with ID "${componentId}" has no root element.`);
4218 - }
4219 - const undoableDetach = (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_2__.undoable)({
4220 - do: () => {
4221 - const overrides = extractInstanceOverrides(instanceContainer);
4222 - const detachedInstanceElementData = (0,_resolve_detached_instance__WEBPACK_IMPORTED_MODULE_10__.resolveDetachedInstance)(rootElement, overrides);
4223 - const originalInstanceModel = instanceContainer.model.toJSON();
4224 - const actionId = new Date().getTime();
4225 -
4226 - // We should fire the event *before* replacing the element, so it will happen before delete event is fired.
4227 - // As we do overridable props cleanup for both events.
4228 - window.dispatchEvent(new CustomEvent(DETACH_EVENT, {
4229 - detail: {
4230 - detachedInstanceId: instanceId,
4231 - detachActionId: actionId
4232 - }
4233 - }));
4234 - const detachedElement = (0,_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_1__.replaceElement)({
4235 - currentElementId: instanceId,
4236 - newElement: detachedInstanceElementData,
4237 - withHistory: false
4238 - });
4239 - (0,_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_1__.selectElement)(detachedElement.id);
4240 - const componentUid = (0,_store_store__WEBPACK_IMPORTED_MODULE_7__.selectComponent)((0,_elementor_store__WEBPACK_IMPORTED_MODULE_3__.__getState)(), componentId)?.uid;
4241 - (0,_tracking__WEBPACK_IMPORTED_MODULE_9__.trackComponentEvent)({
4242 - action: 'detached',
4243 - executedBy: 'user',
4244 - component_uid: componentUid,
4245 - instance_id: instanceId,
4246 - location: trackingInfo.location,
4247 - secondary_location: trackingInfo.secondaryLocation,
4248 - trigger: trackingInfo.trigger
4249 - });
4250 - return {
4251 - detachedElement,
4252 - detachedInstanceElementData,
4253 - originalInstanceModel,
4254 - actionId
4255 - };
4256 - },
4257 - undo: (_, {
4258 - detachedElement,
4259 - originalInstanceModel,
4260 - actionId
4261 - }) => {
4262 - const restoredInstance = (0,_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_1__.replaceElement)({
4263 - currentElementId: detachedElement.id,
4264 - newElement: originalInstanceModel,
4265 - withHistory: false
4266 - });
4267 - window.dispatchEvent(new CustomEvent(DETACH_UNDO_EVENT, {
4268 - detail: {
4269 - restoredInstanceId: restoredInstance.id,
4270 - detachActionId: actionId
4271 - }
4272 - }));
4273 -
4274 - // Wait for the instance to be restored
4275 - (0,_elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_0__.doAfterRender)([restoredInstance.id], () => {
4276 - (0,_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_1__.selectElement)(restoredInstance.id);
4277 - });
4278 - return restoredInstance;
4279 - },
4280 - redo: (_, doReturn, restoredInstance) => {
4281 - const {
4282 - detachedInstanceElementData,
4283 - actionId
4284 - } = doReturn;
4285 - const detachedElement = (0,_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_1__.replaceElement)({
4286 - currentElementId: restoredInstance.id,
4287 - newElement: detachedInstanceElementData,
4288 - withHistory: false
4289 - });
4290 - window.dispatchEvent(new CustomEvent(DETACH_REDO_EVENT, {
4291 - detail: {
4292 - detachedInstanceId: detachedElement.id,
4293 - detachActionId: actionId
4294 - }
4295 - }));
4296 - (0,_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_1__.selectElement)(detachedElement.id);
4297 - return {
4298 - ...doReturn,
4299 - detachedElement
4300 - };
4301 - }
4302 - }, {
4303 - title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Detach from Component', 'elementor'),
4304 - subtitle: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Instance detached', 'elementor')
4305 - });
4306 - return undoableDetach();
4307 -}
4308 -function extractInstanceOverrides(instanceContainer) {
4309 - const settings = instanceContainer.model.toJSON().settings;
4310 - const componentInstance = _prop_types_component_instance_prop_type__WEBPACK_IMPORTED_MODULE_6__.componentInstancePropTypeUtil.extract(settings?.component_instance);
4311 - const overrides = _prop_types_component_instance_overrides_prop_type__WEBPACK_IMPORTED_MODULE_5__.componentInstanceOverridesPropTypeUtil.extract(componentInstance?.overrides);
4312 - return overrides ?? [];
4313 -}
4314 -
4315 -/***/ }),
4316 -
4317 -/***/ "./packages/packages/core/editor-components/src/utils/detach-component-instance/index.ts":
4318 -/*!***********************************************************************************************!*\
4319 - !*** ./packages/packages/core/editor-components/src/utils/detach-component-instance/index.ts ***!
4320 - \***********************************************************************************************/
4321 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4322 -
4323 -__webpack_require__.r(__webpack_exports__);
4324 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4325 -/* harmony export */ detachComponentInstance: function() { return /* reexport safe */ _detach_component_instance__WEBPACK_IMPORTED_MODULE_0__.detachComponentInstance; }
4326 -/* harmony export */ });
4327 -/* harmony import */ var _detach_component_instance__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./detach-component-instance */ "./packages/packages/core/editor-components/src/utils/detach-component-instance/detach-component-instance.ts");
4328 -
4329 -
4330 -/***/ }),
4331 -
4332 -/***/ "./packages/packages/core/editor-components/src/utils/detach-component-instance/regenerate-local-style-ids.ts":
4333 -/*!********************************************************************************************************************!*\
4334 - !*** ./packages/packages/core/editor-components/src/utils/detach-component-instance/regenerate-local-style-ids.ts ***!
4335 - \********************************************************************************************************************/
4336 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4337 -
4338 -__webpack_require__.r(__webpack_exports__);
4339 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4340 -/* harmony export */ regenerateLocalStyleIds: function() { return /* binding */ regenerateLocalStyleIds; }
4341 -/* harmony export */ });
4342 -/* harmony import */ var _elementor_editor_elements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-elements */ "@elementor/editor-elements");
4343 -/* harmony import */ var _elementor_editor_elements__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_0__);
4344 -/* harmony import */ var _elementor_editor_props__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/editor-props */ "@elementor/editor-props");
4345 -/* harmony import */ var _elementor_editor_props__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_props__WEBPACK_IMPORTED_MODULE_1__);
4346 -
4347 -
4348 -// Ts version for atomic-widgets/assets/js/editor/utils/regenerate-local-style-ids.js
4349 -function regenerateLocalStyleIds(element) {
4350 - const originalStyles = element.styles;
4351 - if (!originalStyles || Object.keys(originalStyles).length === 0) {
4352 - return {
4353 - styles: undefined,
4354 - settings: undefined
4355 - };
4356 - }
4357 - const newStyles = {};
4358 - const styleIdMapping = {};
4359 - for (const [originalStyleId, style] of Object.entries(originalStyles)) {
4360 - const newStyleId = generateLocalStyleId(element.id);
4361 - newStyles[newStyleId] = {
4362 - ...style,
4363 - id: newStyleId
4364 - };
4365 - styleIdMapping[originalStyleId] = newStyleId;
4366 - }
4367 - const settings = element.settings;
4368 - if (!settings || Object.keys(settings).length === 0) {
4369 - return {
4370 - styles: newStyles,
4371 - settings: undefined
4372 - };
4373 - }
4374 - const updatedSettings = {
4375 - ...settings
4376 - };
4377 - for (const [propKey, propValue] of Object.entries(updatedSettings)) {
4378 - if (isClassesProp(propValue) && propValue.value.length > 0) {
4379 - const updatedClasses = propValue.value.map(classId => styleIdMapping[classId] ?? classId);
4380 - updatedSettings[propKey] = _elementor_editor_props__WEBPACK_IMPORTED_MODULE_1__.classesPropTypeUtil.create(updatedClasses);
4381 - }
4382 - }
4383 - return {
4384 - styles: newStyles,
4385 - settings: updatedSettings
4386 - };
4387 -}
4388 -function isClassesProp(prop) {
4389 - return _elementor_editor_props__WEBPACK_IMPORTED_MODULE_1__.classesPropTypeUtil.isValid(prop);
4390 -}
4391 -function generateLocalStyleId(elementId) {
4392 - return `e-${elementId}-${(0,_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_0__.generateElementId)()}`;
4393 -}
4394 -
4395 -/***/ }),
4396 -
4397 -/***/ "./packages/packages/core/editor-components/src/utils/detach-component-instance/resolve-detached-instance.ts":
4398 -/*!*******************************************************************************************************************!*\
4399 - !*** ./packages/packages/core/editor-components/src/utils/detach-component-instance/resolve-detached-instance.ts ***!
4400 - \*******************************************************************************************************************/
4401 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4402 -
4403 -__webpack_require__.r(__webpack_exports__);
4404 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4405 -/* harmony export */ getOverridableOverride: function() { return /* binding */ getOverridableOverride; },
4406 -/* harmony export */ resolveDetachedInstance: function() { return /* binding */ resolveDetachedInstance; }
4407 -/* harmony export */ });
4408 -/* harmony import */ var _elementor_editor_elements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-elements */ "@elementor/editor-elements");
4409 -/* harmony import */ var _elementor_editor_elements__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_0__);
4410 -/* harmony import */ var _prop_types_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../prop-types/component-instance-override-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-instance-override-prop-type.ts");
4411 -/* harmony import */ var _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../prop-types/component-overridable-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts");
4412 -/* harmony import */ var _regenerate_local_style_ids__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./regenerate-local-style-ids */ "./packages/packages/core/editor-components/src/utils/detach-component-instance/regenerate-local-style-ids.ts");
4413 -/* harmony import */ var _resolve_overridable_settings__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./resolve-overridable-settings */ "./packages/packages/core/editor-components/src/utils/detach-component-instance/resolve-overridable-settings.ts");
4414 -
4415 -
4416 -
4417 -
4418 -
4419 -
4420 -/**
4421 - * Creates detached element from component instance
4422 - * by applying overrides, reverting overridables, and regenerating IDs.
4423 - * This is used when detaching a component instance from its origin component.
4424 - *
4425 - * The function goes through all nested elements recursively and:
4426 - * - Regenerates element IDs and local style IDs
4427 - * - Resolves overridable settings - applies all instance overrides to element settings,
4428 - * or replaces overridable with origin_value when no matching override exists.
4429 - *
4430 - * @param element - The component's root element
4431 - * @param overrides - Array of overrides from the component instance
4432 - * @return A new element data with all overrides applied and new IDs
4433 - */
4434 -function resolveDetachedInstance(element, overrides) {
4435 - const overrideMap = createOverrideMap(overrides);
4436 - return resolveElementRecursive(structuredClone(element), overrideMap);
4437 -}
4438 -function resolveElementRecursive(element, overrideMap) {
4439 - element.id = (0,_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_0__.generateElementId)();
4440 - if (element.styles) {
4441 - const {
4442 - styles,
4443 - settings
4444 - } = (0,_regenerate_local_style_ids__WEBPACK_IMPORTED_MODULE_3__.regenerateLocalStyleIds)(element);
4445 - element.styles = styles;
4446 - if (settings) {
4447 - element.settings = {
4448 - ...element.settings,
4449 - ...settings
4450 - };
4451 - }
4452 - }
4453 - if (element.settings) {
4454 - element.settings = (0,_resolve_overridable_settings__WEBPACK_IMPORTED_MODULE_4__.resolveOverridableSettings)(element, overrideMap);
4455 - }
4456 - if (element.elements?.length) {
4457 - element.elements = element.elements.map(child => resolveElementRecursive(child, overrideMap));
4458 - }
4459 - return element;
4460 -}
4461 -function createOverrideMap(overrides) {
4462 - const map = new Map();
4463 - overrides.forEach(item => {
4464 - let override = null;
4465 - if (_prop_types_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_1__.componentInstanceOverridePropTypeUtil.isValid(item)) {
4466 - override = item;
4467 - } else if (_prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_2__.componentOverridablePropTypeUtil.isValid(item)) {
4468 - override = getOverridableOverride(item);
4469 - }
4470 - if (override) {
4471 - const overrideKey = override.value.override_key;
4472 - map.set(overrideKey, override);
4473 - }
4474 - });
4475 - return map;
4476 -}
4477 -function getOverridableOverride(propValue) {
4478 - if (!_prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_2__.componentOverridablePropTypeUtil.isValid(propValue)) {
4479 - return null;
4480 - }
4481 - const originValue = _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_2__.componentOverridablePropTypeUtil.extract(propValue)?.origin_value;
4482 - if (!_prop_types_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_1__.componentInstanceOverridePropTypeUtil.isValid(originValue)) {
4483 - return null;
4484 - }
4485 - return originValue;
4486 -}
4487 -
4488 -/***/ }),
4489 -
4490 -/***/ "./packages/packages/core/editor-components/src/utils/detach-component-instance/resolve-overridable-settings.ts":
4491 -/*!**********************************************************************************************************************!*\
4492 - !*** ./packages/packages/core/editor-components/src/utils/detach-component-instance/resolve-overridable-settings.ts ***!
4493 - \**********************************************************************************************************************/
4494 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4495 -
4496 -__webpack_require__.r(__webpack_exports__);
4497 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4498 -/* harmony export */ resolveOverridableSettings: function() { return /* binding */ resolveOverridableSettings; }
4499 -/* harmony export */ });
4500 -/* harmony import */ var _prop_types_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../prop-types/component-instance-override-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-instance-override-prop-type.ts");
4501 -/* harmony import */ var _prop_types_component_instance_prop_type__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../prop-types/component-instance-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-instance-prop-type.ts");
4502 -/* harmony import */ var _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../prop-types/component-overridable-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts");
4503 -/* harmony import */ var _is_component_instance__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../is-component-instance */ "./packages/packages/core/editor-components/src/utils/is-component-instance.ts");
4504 -
4505 -
4506 -
4507 -
4508 -function resolveOverridableSettings(element, overrideMap) {
4509 - if ((0,_is_component_instance__WEBPACK_IMPORTED_MODULE_3__.isComponentInstance)({
4510 - widgetType: element.widgetType,
4511 - elType: element.elType
4512 - })) {
4513 - return resolveOverridableSettingsForComponentInstance(element, overrideMap);
4514 - }
4515 - return resolveOverridableSettingsForElement(element, overrideMap);
4516 -}
4517 -function resolveOverridableSettingsForElement(element, overrideMap) {
4518 - const updatedSettings = element.settings ? {
4519 - ...element.settings
4520 - } : {};
4521 - for (const [settingKey, settingValue] of Object.entries(element.settings ?? {})) {
4522 - updatedSettings[settingKey] = resolvePropValue(settingValue, overrideMap);
4523 - }
4524 - return updatedSettings;
4525 -}
4526 -function resolveOverridableSettingsForComponentInstance(element, overrideMap) {
4527 - const componentInstance = element.settings?.component_instance;
4528 - if (!_prop_types_component_instance_prop_type__WEBPACK_IMPORTED_MODULE_1__.componentInstancePropTypeUtil.isValid(componentInstance)) {
4529 - return element.settings ?? {};
4530 - }
4531 - const instanceOverrides = componentInstance.value.overrides?.value;
4532 - if (!instanceOverrides?.length) {
4533 - return element.settings ?? {};
4534 - }
4535 - const updatedOverrides = instanceOverrides.map(item => resolvePropValue(item, overrideMap, {
4536 - isOverridableOverride: true
4537 - }));
4538 - return {
4539 - ...element.settings,
4540 - component_instance: {
4541 - ...componentInstance,
4542 - value: {
4543 - ...componentInstance.value,
4544 - overrides: {
4545 - ...componentInstance.value.overrides,
4546 - value: updatedOverrides
4547 - }
4548 - }
4549 - }
4550 - };
4551 -}
4552 -function resolvePropValue(propValue, overrideMap, options) {
4553 - const {
4554 - isOverridableOverride = false
4555 - } = options ?? {};
4556 -
4557 - // if it's not an overridable, return the prop value as is
4558 - if (!_prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_2__.componentOverridablePropTypeUtil.isValid(propValue)) {
4559 - return propValue;
4560 - }
4561 - const overridableKey = propValue.value.override_key;
4562 - const matchingOverride = overrideMap.get(overridableKey);
4563 - const originValue = _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_2__.componentOverridablePropTypeUtil.extract(propValue)?.origin_value;
4564 -
4565 - // if no matching override, return the overridable's origin value
4566 - if (!matchingOverride) {
4567 - return originValue;
4568 - }
4569 - if (isOverridableOverride) {
4570 - return resolveOverridableOverride(matchingOverride, originValue);
4571 - }
4572 -
4573 - // for regular props, when there's a non null matching override, return the matching override value,
4574 - // otherwise return the origin value
4575 - const matchingOverrideValue = _prop_types_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_0__.componentInstanceOverridePropTypeUtil.extract(matchingOverride)?.override_value;
4576 - return matchingOverrideValue ?? originValue;
4577 -}
4578 -function resolveOverridableOverride(matchingOverride, originValue) {
4579 - if (!originValue || !_prop_types_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_0__.componentInstanceOverridePropTypeUtil.isValid(originValue)) {
4580 - return null;
4581 - }
4582 -
4583 - // for overridable overrides, we should create a new override with the matching override value
4584 - // but keep the origin value's override key and schema source, so they'll match the inner component.
4585 - return _prop_types_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_0__.componentInstanceOverridePropTypeUtil.create({
4586 - override_value: matchingOverride.value.override_value,
4587 - override_key: originValue.value.override_key,
4588 - schema_source: originValue.value.schema_source
4589 - });
4590 -}
4591 -
4592 -/***/ }),
4593 -
4594 -/***/ "./packages/packages/core/editor-components/src/utils/filter-valid-overridable-props.ts":
4595 -/*!**********************************************************************************************!*\
4596 - !*** ./packages/packages/core/editor-components/src/utils/filter-valid-overridable-props.ts ***!
4597 - \**********************************************************************************************/
4598 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4599 -
4600 -__webpack_require__.r(__webpack_exports__);
4601 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4602 -/* harmony export */ filterValidOverridableProps: function() { return /* binding */ filterValidOverridableProps; },
4603 -/* harmony export */ isExposedPropValid: function() { return /* binding */ isExposedPropValid; }
4604 -/* harmony export */ });
4605 -/* harmony import */ var _resolve_overrides_chain__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./resolve-overrides-chain */ "./packages/packages/core/editor-components/src/utils/resolve-overrides-chain.ts");
4606 -
4607 -function filterValidOverridableProps(overridableProps,
4608 -// instanceElementId is used to find the component inner elements,
4609 -// and should be passed when editing component instance (not in component edit mode)
4610 -instanceElementId) {
4611 - const validProps = {};
4612 - for (const [key, prop] of Object.entries(overridableProps.props)) {
4613 - if (isExposedPropValid(prop, instanceElementId)) {
4614 - validProps[key] = prop;
4615 - }
4616 - }
4617 - const validPropKeys = new Set(Object.keys(validProps));
4618 - const filteredGroups = {
4619 - items: Object.fromEntries(Object.entries(overridableProps.groups.items).map(([groupId, group]) => [groupId, {
4620 - ...group,
4621 - props: group.props.filter(propKey => validPropKeys.has(propKey))
4622 - }])),
4623 - order: overridableProps.groups.order
4624 - };
4625 - return {
4626 - props: validProps,
4627 - groups: filteredGroups
4628 - };
4629 -}
4630 -function isExposedPropValid(prop, instanceElementId) {
4631 - const {
4632 - isChainBroken
4633 - } = (0,_resolve_overrides_chain__WEBPACK_IMPORTED_MODULE_0__.resolveOverridesChain)({
4634 - outerOverridableProp: prop,
4635 - outerInstanceId: instanceElementId
4636 - });
4637 - return !isChainBroken;
4638 -}
4639 -
4640 -/***/ }),
4641 -
4642 -/***/ "./packages/packages/core/editor-components/src/utils/format-component-elements-id.ts":
4643 -/*!********************************************************************************************!*\
4644 - !*** ./packages/packages/core/editor-components/src/utils/format-component-elements-id.ts ***!
4645 - \********************************************************************************************/
4646 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4647 -
4648 -__webpack_require__.r(__webpack_exports__);
4649 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4650 -/* harmony export */ formatComponentElementsId: function() { return /* binding */ formatComponentElementsId; }
4651 -/* harmony export */ });
4652 -/* harmony import */ var _elementor_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/utils */ "@elementor/utils");
4653 -/* harmony import */ var _elementor_utils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_utils__WEBPACK_IMPORTED_MODULE_0__);
4654 -
4655 -const ELEMENT_ID_LENGTH = 7;
4656 -// The purpose of this function is to solve the issue of component inner elements having the same ID
4657 -// when there are multiple instances of the same component on a page.
4658 -// We change the ID of the inner elements to a hash of the nesting path of the element and the element's originalID.
4659 -function formatComponentElementsId(elements, path) {
4660 - return elements.map(element => {
4661 - const nestingPath = [...path, element.id];
4662 - const id = (0,_elementor_utils__WEBPACK_IMPORTED_MODULE_0__.hashString)(nestingPath.join('_'), ELEMENT_ID_LENGTH);
4663 - return {
4664 - ...element,
4665 - id,
4666 - originId: element.id,
4667 - elements: element.elements ? formatComponentElementsId(element.elements, nestingPath) : undefined
4668 - };
4669 - });
4670 -}
4671 -
4672 -/***/ }),
4673 -
4674 -/***/ "./packages/packages/core/editor-components/src/utils/get-component-documents.ts":
4675 -/*!***************************************************************************************!*\
4676 - !*** ./packages/packages/core/editor-components/src/utils/get-component-documents.ts ***!
4677 - \***************************************************************************************/
4678 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4679 -
4680 -__webpack_require__.r(__webpack_exports__);
4681 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4682 -/* harmony export */ getComponentDocuments: function() { return /* binding */ getComponentDocuments; }
4683 -/* harmony export */ });
4684 -/* harmony import */ var _component_document_data__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./component-document-data */ "./packages/packages/core/editor-components/src/utils/component-document-data.ts");
4685 -/* harmony import */ var _is_component_instance__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./is-component-instance */ "./packages/packages/core/editor-components/src/utils/is-component-instance.ts");
4686 -
4687 -
4688 -async function getComponentDocuments({
4689 - elements,
4690 - cache = new Map(),
4691 - isRecursive = true
4692 -}) {
4693 - const componentIds = await getComponentIds(elements, cache, isRecursive);
4694 - return getDocumentsMap(componentIds, cache);
4695 -}
4696 -async function getComponentIds(elements, cache, isRecursive) {
4697 - const results = await Promise.all(elements.filter(Boolean).map(async ({
4698 - widgetType,
4699 - elType,
4700 - elements: childElements,
4701 - settings
4702 - }) => {
4703 - const ids = [];
4704 - if ((0,_is_component_instance__WEBPACK_IMPORTED_MODULE_1__.isComponentInstance)({
4705 - widgetType,
4706 - elType
4707 - })) {
4708 - const componentId = settings?.component_instance?.value?.component_id.value;
4709 - if (!componentId) {
4710 - return ids;
4711 - }
4712 - ids.push(componentId);
4713 - if (!cache.has(componentId)) {
4714 - cache.set(componentId, (0,_component_document_data__WEBPACK_IMPORTED_MODULE_0__.getComponentDocumentData)(componentId));
4715 - }
4716 - if (isRecursive) {
4717 - const doc = await cache.get(componentId);
4718 - childElements = doc?.elements;
4719 - }
4720 - }
4721 - if (childElements?.length) {
4722 - const childIds = await getComponentIds(childElements, cache, isRecursive);
4723 - ids.push(...childIds);
4724 - }
4725 - return ids;
4726 - }));
4727 - return [...new Set(results.flat())];
4728 -}
4729 -async function getDocumentsMap(ids, cache) {
4730 - const documents = await Promise.all(ids.map(async id => {
4731 - const document = await cache.get(id);
4732 - if (!document) {
4733 - return null;
4734 - }
4735 - return [id, document];
4736 - }));
4737 - return new Map(documents.filter(document => document !== null));
4738 -}
4739 -
4740 -/***/ }),
4741 -
4742 -/***/ "./packages/packages/core/editor-components/src/utils/get-container-by-origin-id.ts":
4743 -/*!******************************************************************************************!*\
4744 - !*** ./packages/packages/core/editor-components/src/utils/get-container-by-origin-id.ts ***!
4745 - \******************************************************************************************/
4746 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4747 -
4748 -__webpack_require__.r(__webpack_exports__);
4749 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4750 -/* harmony export */ getContainerByOriginId: function() { return /* binding */ getContainerByOriginId; }
4751 -/* harmony export */ });
4752 -/* harmony import */ var _elementor_editor_elements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-elements */ "@elementor/editor-elements");
4753 -/* harmony import */ var _elementor_editor_elements__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_0__);
4754 -
4755 -/**
4756 - * Resolves a container by its origin ID, with optional scoping to a component instance.
4757 - *
4758 - * When component instances are rendered, their inner elements get prefixed IDs
4759 - * (e.g., `{instanceId}_{originalId}`), but store data uses original IDs.
4760 - * This function bridges between the two by searching for elements with a matching `originId`.
4761 - *
4762 - * @param originElementId - The original (unprefixed) element ID from store data
4763 - * @param instanceElementId - Optional instance widget ID to scope the search
4764 - *
4765 - * @return The container with prefixed runtime ID, or null if not found
4766 - *
4767 - * @example
4768 - * // Component editing mode (no prefixing)
4769 - * getContainerByOriginId('element-1') // returns container with id='element-1'
4770 - *
4771 - * @example
4772 - * // Instance editing mode (with hash prefixing)
4773 - * getContainerByOriginId('element-1', 'instance-abc')
4774 - * // returns container with id='{hash}_element-1' and originId='element-1'
4775 - */
4776 -function getContainerByOriginId(originElementId, instanceElementId) {
4777 - if (!instanceElementId) {
4778 - return (0,_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_0__.getContainer)(originElementId);
4779 - }
4780 - const instanceContainer = (0,_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_0__.getContainer)(instanceElementId);
4781 - if (!instanceContainer) {
4782 - return null;
4783 - }
4784 - const legacyWindow = window;
4785 - return legacyWindow.elementor?.getContainerByKeyValue?.({
4786 - key: 'originId',
4787 - value: originElementId,
4788 - parent: instanceContainer.view
4789 - }) ?? null;
4790 -}
4791 -
4792 -/***/ }),
4793 -
4794 -/***/ "./packages/packages/core/editor-components/src/utils/get-overridable-prop.ts":
4795 -/*!************************************************************************************!*\
4796 - !*** ./packages/packages/core/editor-components/src/utils/get-overridable-prop.ts ***!
4797 - \************************************************************************************/
4798 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4799 -
4800 -__webpack_require__.r(__webpack_exports__);
4801 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4802 -/* harmony export */ getOverridableProp: function() { return /* binding */ getOverridableProp; }
4803 -/* harmony export */ });
4804 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/store */ "@elementor/store");
4805 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_store__WEBPACK_IMPORTED_MODULE_0__);
4806 -/* harmony import */ var _store_store__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../store/store */ "./packages/packages/core/editor-components/src/store/store.ts");
4807 -
4808 -
4809 -function getOverridableProp({
4810 - componentId,
4811 - overrideKey
4812 -}) {
4813 - const overridableProps = (0,_store_store__WEBPACK_IMPORTED_MODULE_1__.selectOverridableProps)((0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__getState)(), componentId);
4814 - if (!overridableProps) {
4815 - return undefined;
4816 - }
4817 - return overridableProps.props[overrideKey];
4818 -}
4819 -
4820 -/***/ }),
4821 -
4822 -/***/ "./packages/packages/core/editor-components/src/utils/get-prop-type-for-component-override.ts":
4823 -/*!****************************************************************************************************!*\
4824 - !*** ./packages/packages/core/editor-components/src/utils/get-prop-type-for-component-override.ts ***!
4825 - \****************************************************************************************************/
4826 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4827 -
4828 -__webpack_require__.r(__webpack_exports__);
4829 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4830 -/* harmony export */ getPropTypeForComponentOverride: function() { return /* binding */ getPropTypeForComponentOverride; }
4831 -/* harmony export */ });
4832 -/* harmony import */ var _elementor_editor_elements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-elements */ "@elementor/editor-elements");
4833 -/* harmony import */ var _elementor_editor_elements__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_0__);
4834 -
4835 -const getPropTypeForComponentOverride = overridableProp => {
4836 - if (overridableProp.originPropFields) {
4837 - return getPropType(overridableProp.originPropFields);
4838 - }
4839 - const {
4840 - widgetType,
4841 - propKey
4842 - } = overridableProp;
4843 - return getPropType({
4844 - widgetType,
4845 - propKey
4846 - });
4847 -};
4848 -function getPropType({
4849 - widgetType,
4850 - propKey
4851 -}) {
4852 - const widgetPropsSchema = (0,_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_0__.getWidgetsCache)()?.[widgetType]?.atomic_props_schema;
4853 - return widgetPropsSchema?.[propKey];
4854 -}
4855 -
4856 -/***/ }),
4857 -
4858 -/***/ "./packages/packages/core/editor-components/src/utils/is-component-instance.ts":
4859 -/*!*************************************************************************************!*\
4860 - !*** ./packages/packages/core/editor-components/src/utils/is-component-instance.ts ***!
4861 - \*************************************************************************************/
4862 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4863 -
4864 -__webpack_require__.r(__webpack_exports__);
4865 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4866 -/* harmony export */ isComponentInstance: function() { return /* binding */ isComponentInstance; }
4867 -/* harmony export */ });
4868 -/* harmony import */ var _consts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../consts */ "./packages/packages/core/editor-components/src/consts.ts");
4869 -
4870 -function isComponentInstance(elementModel) {
4871 - return [elementModel.widgetType, elementModel.elType].includes(_consts__WEBPACK_IMPORTED_MODULE_0__.COMPONENT_WIDGET_TYPE);
4872 -}
4873 -
4874 -/***/ }),
4875 -
4876 -/***/ "./packages/packages/core/editor-components/src/utils/is-pro-components-supported.ts":
4877 -/*!*******************************************************************************************!*\
4878 - !*** ./packages/packages/core/editor-components/src/utils/is-pro-components-supported.ts ***!
4879 - \*******************************************************************************************/
4880 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4881 -
4882 -__webpack_require__.r(__webpack_exports__);
4883 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4884 -/* harmony export */ isProComponentsSupported: function() { return /* binding */ isProComponentsSupported; },
4885 -/* harmony export */ isProOutdatedForComponents: function() { return /* binding */ isProOutdatedForComponents; }
4886 -/* harmony export */ });
4887 -/* harmony import */ var _elementor_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/utils */ "@elementor/utils");
4888 -/* harmony import */ var _elementor_utils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_utils__WEBPACK_IMPORTED_MODULE_0__);
4889 -
4890 -const MIN_PRO_VERSION_FOR_COMPONENTS = '4.0';
4891 -function isProComponentsSupported() {
4892 - return (0,_elementor_utils__WEBPACK_IMPORTED_MODULE_0__.hasProInstalled)() && (0,_elementor_utils__WEBPACK_IMPORTED_MODULE_0__.isProAtLeast)(MIN_PRO_VERSION_FOR_COMPONENTS);
4893 -}
4894 -function isProOutdatedForComponents() {
4895 - return (0,_elementor_utils__WEBPACK_IMPORTED_MODULE_0__.hasProInstalled)() && !(0,_elementor_utils__WEBPACK_IMPORTED_MODULE_0__.isProAtLeast)(MIN_PRO_VERSION_FOR_COMPONENTS);
4896 -}
4897 -
4898 -/***/ }),
4899 -
4900 -/***/ "./packages/packages/core/editor-components/src/utils/overridable-props-utils.ts":
4901 -/*!***************************************************************************************!*\
4902 - !*** ./packages/packages/core/editor-components/src/utils/overridable-props-utils.ts ***!
4903 - \***************************************************************************************/
4904 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4905 -
4906 -__webpack_require__.r(__webpack_exports__);
4907 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4908 -/* harmony export */ getMatchingOverride: function() { return /* binding */ getMatchingOverride; }
4909 -/* harmony export */ });
4910 -/* harmony import */ var _prop_types_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../prop-types/component-instance-override-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-instance-override-prop-type.ts");
4911 -/* harmony import */ var _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../prop-types/component-overridable-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts");
4912 -
4913 -
4914 -function getMatchingOverride(overrides, overrideKey) {
4915 - return overrides?.find(override => {
4916 - const overridableValue = _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_1__.componentOverridablePropTypeUtil.extract(override);
4917 - if (overridableValue) {
4918 - const overrideValue = _prop_types_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_0__.componentInstanceOverridePropTypeUtil.extract(overridableValue.origin_value);
4919 - return overrideValue?.override_key === overrideKey;
4920 - }
4921 - return override.value.override_key === overrideKey;
4922 - }) ?? null;
4923 -}
4924 -
4925 -/***/ }),
4926 -
4927 -/***/ "./packages/packages/core/editor-components/src/utils/resolve-override-prop-value.ts":
4928 -/*!*******************************************************************************************!*\
4929 - !*** ./packages/packages/core/editor-components/src/utils/resolve-override-prop-value.ts ***!
4930 - \*******************************************************************************************/
4931 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4932 -
4933 -__webpack_require__.r(__webpack_exports__);
4934 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4935 -/* harmony export */ resolveOverridePropValue: function() { return /* binding */ resolveOverridePropValue; }
4936 -/* harmony export */ });
4937 -/* harmony import */ var _prop_types_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../prop-types/component-instance-override-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-instance-override-prop-type.ts");
4938 -/* harmony import */ var _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../prop-types/component-overridable-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts");
4939 -
4940 -
4941 -const resolveOverridePropValue = originalPropValue => {
4942 - const isOverridable = _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_1__.componentOverridablePropTypeUtil.isValid(originalPropValue);
4943 - if (isOverridable) {
4944 - return getOverridableValue(originalPropValue);
4945 - }
4946 - const isOverride = _prop_types_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_0__.componentInstanceOverridePropTypeUtil.isValid(originalPropValue);
4947 - if (isOverride) {
4948 - return getOverrideValue(originalPropValue);
4949 - }
4950 - return originalPropValue;
4951 -};
4952 -function getOverridableValue(overridableProp) {
4953 - const overridableValue = _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_1__.componentOverridablePropTypeUtil.extract(overridableProp);
4954 - if (!overridableValue) {
4955 - return null;
4956 - }
4957 - const isOverride = _prop_types_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_0__.componentInstanceOverridePropTypeUtil.isValid(overridableValue.origin_value);
4958 - if (isOverride) {
4959 - return getOverrideValue(overridableValue.origin_value);
4960 - }
4961 - return overridableValue.origin_value;
4962 -}
4963 -function getOverrideValue(overrideProp) {
4964 - const overrideValue = _prop_types_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_0__.componentInstanceOverridePropTypeUtil.extract(overrideProp);
4965 - if (!overrideValue) {
4966 - return null;
4967 - }
4968 - return overrideValue.override_value;
4969 -}
4970 -
4971 -/***/ }),
4972 -
4973 -/***/ "./packages/packages/core/editor-components/src/utils/resolve-overrides-chain.ts":
4974 -/*!***************************************************************************************!*\
4975 - !*** ./packages/packages/core/editor-components/src/utils/resolve-overrides-chain.ts ***!
4976 - \***************************************************************************************/
4977 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4978 -
4979 -__webpack_require__.r(__webpack_exports__);
4980 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4981 -/* harmony export */ buildOverridesMap: function() { return /* binding */ buildOverridesMap; },
4982 -/* harmony export */ resolveOverridesChain: function() { return /* binding */ resolveOverridesChain; }
4983 -/* harmony export */ });
4984 -/* harmony import */ var _prop_types_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../prop-types/component-instance-override-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-instance-override-prop-type.ts");
4985 -/* harmony import */ var _prop_types_component_instance_overrides_prop_type__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../prop-types/component-instance-overrides-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-instance-overrides-prop-type.ts");
4986 -/* harmony import */ var _prop_types_component_instance_prop_type__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../prop-types/component-instance-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-instance-prop-type.ts");
4987 -/* harmony import */ var _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../prop-types/component-overridable-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts");
4988 -/* harmony import */ var _get_container_by_origin_id__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./get-container-by-origin-id */ "./packages/packages/core/editor-components/src/utils/get-container-by-origin-id.ts");
4989 -/* harmony import */ var _get_overridable_prop__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./get-overridable-prop */ "./packages/packages/core/editor-components/src/utils/get-overridable-prop.ts");
4990 -
4991 -
4992 -
4993 -
4994 -
4995 -
4996 -// Recursively walks down a chain of nested component instances to find the innermost element
4997 -// and collect the overrides mapping for it.
4998 -// Returns the resolved inner element with its overrides mapping,
4999 -// or { isChainBroken: true } if any level in the chain is no longer overridable.
5000 -function resolveOverridesChain({
5001 - outerOverridableProp,
5002 - outerInstanceId,
5003 - overridesMapping = {}
5004 -}) {
5005 - // Stop condition: no originPropFields means we've reached the most inner component instance
5006 - if (!outerOverridableProp.originPropFields) {
5007 - const innerElement = (0,_get_container_by_origin_id__WEBPACK_IMPORTED_MODULE_4__.getContainerByOriginId)(outerOverridableProp.elementId, outerInstanceId);
5008 - if (!innerElement) {
5009 - throw new Error(`Inner element not found inside instance. elementId: ${outerOverridableProp.elementId}, instanceId: ${outerInstanceId}`);
5010 - }
5011 - return {
5012 - isChainBroken: false,
5013 - innerElement,
5014 - overridesMapping
5015 - };
5016 - }
5017 -
5018 - // Step 1: Find the intermediate component instance and read its settings.
5019 - const currentInstance = (0,_get_container_by_origin_id__WEBPACK_IMPORTED_MODULE_4__.getContainerByOriginId)(outerOverridableProp.elementId, outerInstanceId);
5020 - if (!currentInstance) {
5021 - // One of the instances in the chain was deleted.
5022 - return {
5023 - isChainBroken: true
5024 - };
5025 - }
5026 - const {
5027 - componentId,
5028 - overrides
5029 - } = extractComponentInstanceSettings(currentInstance);
5030 - if (!componentId) {
5031 - throw new Error(`Component ID not found for current instance. currentInstanceId: ${currentInstance.id}. outerInstanceId: ${outerInstanceId}`);
5032 - }
5033 -
5034 - // Collect overrides from this level, translating keys for exposed-further props.
5035 - const mergedOverrides = buildOverridesMap(overridesMapping, overrides ?? []);
5036 -
5037 - // Find the overridable-override that matches the outer overridable prop's key,
5038 - // to get the next level's overridable prop.
5039 - const override = findOverrideByOuterKey(overrides, outerOverridableProp.overrideKey);
5040 - const overrideKey = _prop_types_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_0__.componentInstanceOverridePropTypeUtil.extract(override)?.override_key;
5041 - if (!override || !overrideKey) {
5042 - // No matching override found for the current level - it means it's no longer overridable.
5043 - return {
5044 - isChainBroken: true
5045 - };
5046 - }
5047 - const overridableProp = (0,_get_overridable_prop__WEBPACK_IMPORTED_MODULE_5__.getOverridableProp)({
5048 - componentId,
5049 - overrideKey
5050 - });
5051 - if (!overridableProp) {
5052 - throw new Error(`Overridable prop not found. componentId: ${componentId}, overrideKey: ${overrideKey}`);
5053 - }
5054 -
5055 - // Step 4: Recurse into the next nesting level.
5056 - return resolveOverridesChain({
5057 - outerOverridableProp: overridableProp,
5058 - outerInstanceId: currentInstance.id,
5059 - overridesMapping: mergedOverrides
5060 - });
5061 -}
5062 -
5063 -/**
5064 - * Builds overrides map from instances chain:
5065 - * At each level, we collect overrides from the current instance and merge them with the overrides from the outer levels.
5066 - *
5067 - * For exposed-further overrides (overridable wrapping an override), we have outer key (overridable's) and inner key (override's).
5068 - * If a higher level already set a value for the outer key, that value is carried forward to the inner key
5069 - * — same logic as the componentOverridableTransformer in the render pipeline.
5070 - *
5071 - * For simple overrides, that are not exposed further, we just use the override's key and value.
5072 - *
5073 - * @param existing - Previously accumulated overrides from outer levels.
5074 - * @param levelOverrides - The overrides array from the current level instance.
5075 - */
5076 -function buildOverridesMap(existing, levelOverrides) {
5077 - const result = {
5078 - ...existing
5079 - };
5080 - for (const item of levelOverrides) {
5081 - const overridableValue = _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_3__.componentOverridablePropTypeUtil.extract(item);
5082 - if (overridableValue) {
5083 - // Exposed-further: overridable wraps an inner override with a different key.
5084 - const override = _prop_types_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_0__.componentInstanceOverridePropTypeUtil.extract(overridableValue.origin_value);
5085 - if (!override) {
5086 - continue;
5087 - }
5088 - const outerKey = overridableValue.override_key;
5089 - const innerKey = override.override_key;
5090 - const innerValue = override.override_value;
5091 -
5092 - // If an upper level already set a value for the outer key, carry it forward to the inner key.
5093 - const higherLevelOverride = existing[outerKey];
5094 - if (higherLevelOverride) {
5095 - const outerValue = higherLevelOverride.value;
5096 - result[innerKey] = {
5097 - value: outerValue ?? innerValue,
5098 - outermostKey: higherLevelOverride.outermostKey ?? outerKey
5099 - };
5100 - continue;
5101 - }
5102 - result[innerKey] = {
5103 - value: innerValue,
5104 - outermostKey: outerKey
5105 - };
5106 - } else {
5107 - // Simple override: not exposed further, we just store the override's key and value.
5108 - const override = _prop_types_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_0__.componentInstanceOverridePropTypeUtil.extract(item);
5109 - if (!override) {
5110 - continue;
5111 - }
5112 - const key = override.override_key;
5113 - const value = override.override_value;
5114 - result[key] = {
5115 - value
5116 - };
5117 - }
5118 - }
5119 - return result;
5120 -}
5121 -function extractComponentInstanceSettings(element) {
5122 - const instanceSetting = element.settings?.get('component_instance');
5123 - const instanceValue = _prop_types_component_instance_prop_type__WEBPACK_IMPORTED_MODULE_2__.componentInstancePropTypeUtil.extract(instanceSetting);
5124 - const componentId = instanceValue?.component_id?.value;
5125 - const overrides = _prop_types_component_instance_overrides_prop_type__WEBPACK_IMPORTED_MODULE_1__.componentInstanceOverridesPropTypeUtil.extract(instanceValue?.overrides);
5126 - return {
5127 - componentId,
5128 - overrides
5129 - };
5130 -}
5131 -
5132 -// Finds the inner override prop whose wrapping overridable matches the given outer key.
5133 -function findOverrideByOuterKey(overrides, outerKey) {
5134 - if (!overrides) {
5135 - return null;
5136 - }
5137 - const overridableOverride = overrides.find(item => {
5138 - const overridableValue = _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_3__.componentOverridablePropTypeUtil.extract(item);
5139 - if (!overridableValue) {
5140 - return false;
5141 - }
5142 - return overridableValue.override_key === outerKey;
5143 - });
5144 - const override = _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_3__.componentOverridablePropTypeUtil.extract(overridableOverride)?.origin_value;
5145 - if (!override || !_prop_types_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_0__.componentInstanceOverridePropTypeUtil.isValid(override)) {
5146 - return null;
5147 - }
5148 - return override;
5149 -}
5150 -
5151 -/***/ }),
5152 -
5153 -/***/ "./packages/packages/core/editor-components/src/utils/switch-to-component.ts":
5154 -/*!***********************************************************************************!*\
5155 - !*** ./packages/packages/core/editor-components/src/utils/switch-to-component.ts ***!
5156 - \***********************************************************************************/
5157 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
5158 -
5159 -__webpack_require__.r(__webpack_exports__);
5160 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
5161 -/* harmony export */ buildUniqueSelector: function() { return /* binding */ buildUniqueSelector; },
5162 -/* harmony export */ expandNavigator: function() { return /* binding */ expandNavigator; },
5163 -/* harmony export */ switchToComponent: function() { return /* binding */ switchToComponent; }
5164 -/* harmony export */ });
5165 -/* harmony import */ var _elementor_editor_documents__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-documents */ "@elementor/editor-documents");
5166 -/* harmony import */ var _elementor_editor_documents__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_documents__WEBPACK_IMPORTED_MODULE_0__);
5167 -/* harmony import */ var _elementor_editor_elements__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/editor-elements */ "@elementor/editor-elements");
5168 -/* harmony import */ var _elementor_editor_elements__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_1__);
5169 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/editor-v1-adapters */ "@elementor/editor-v1-adapters");
5170 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_2__);
5171 -
5172 -
5173 -
5174 -async function switchToComponent(componentId, componentInstanceId, element) {
5175 - const selector = getSelector(element, componentInstanceId);
5176 - (0,_elementor_editor_documents__WEBPACK_IMPORTED_MODULE_0__.invalidateDocumentData)(componentId);
5177 - await (0,_elementor_editor_documents__WEBPACK_IMPORTED_MODULE_0__.switchToDocument)(componentId, {
5178 - selector,
5179 - mode: 'autosave',
5180 - setAsInitial: false,
5181 - shouldScroll: false
5182 - });
5183 - const currentDocumentContainer = (0,_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_1__.getCurrentDocumentContainer)();
5184 - const topLevelElement = currentDocumentContainer?.children?.[0];
5185 - if (topLevelElement) {
5186 - (0,_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_1__.selectElement)(topLevelElement.id);
5187 - expandNavigator();
5188 - }
5189 -}
5190 -async function expandNavigator() {
5191 - await (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_2__.__privateRunCommand)('navigator/expand-all');
5192 -}
5193 -function getSelector(element, componentInstanceId) {
5194 - if (element) {
5195 - return buildUniqueSelector(element);
5196 - }
5197 - if (componentInstanceId) {
5198 - return `[data-id="${componentInstanceId}"]`;
5199 - }
5200 - return undefined;
5201 -}
5202 -function buildUniqueSelector(element) {
5203 - const selectors = [];
5204 - let current = element.closest('[data-id]');
5205 - while (current) {
5206 - const dataId = current.dataset.id;
5207 - const isComponentInstance = current.hasAttribute('data-elementor-id');
5208 - if (isComponentInstance) {
5209 - selectors.unshift(`[data-id="${dataId}"]`);
5210 - }
5211 - current = current.parentElement?.closest('[data-id]') ?? null;
5212 - }
5213 - if (selectors.length === 0) {
5214 - const closestElement = element.closest('[data-id]');
5215 - if (closestElement?.dataset?.id) {
5216 - return `[data-id="${closestElement.dataset.id}"]`;
5217 - }
5218 - }
5219 - return selectors.join(' ');
5220 -}
5221 -
5222 -/***/ }),
5223 -
5224 -/***/ "./packages/packages/core/editor-components/src/utils/tracking.ts":
5225 -/*!************************************************************************!*\
5226 - !*** ./packages/packages/core/editor-components/src/utils/tracking.ts ***!
5227 - \************************************************************************/
5228 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
5229 -
5230 -__webpack_require__.r(__webpack_exports__);
5231 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
5232 -/* harmony export */ onElementDrop: function() { return /* binding */ onElementDrop; },
5233 -/* harmony export */ trackComponentEvent: function() { return /* binding */ trackComponentEvent; }
5234 -/* harmony export */ });
5235 -/* harmony import */ var _elementor_events__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/events */ "@elementor/events");
5236 -/* harmony import */ var _elementor_events__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_events__WEBPACK_IMPORTED_MODULE_0__);
5237 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/store */ "@elementor/store");
5238 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_store__WEBPACK_IMPORTED_MODULE_1__);
5239 -/* harmony import */ var _store_store__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../store/store */ "./packages/packages/core/editor-components/src/store/store.ts");
5240 -
5241 -
5242 -
5243 -
5244 -// TODO: Remove this type in version 4.4.0
5245 -/** @deprecated since 4.2.1 - use `ExecutedBy` instead */
5246 -
5247 -const FEATURE_NAME = 'Components';
5248 -const trackComponentEvent = ({
5249 - action,
5250 - source,
5251 - executedBy,
5252 - ...data
5253 -}) => {
5254 - if (source === 'system' || executedBy === 'system') {
5255 - return;
5256 - }
5257 - const {
5258 - dispatchEvent,
5259 - config
5260 - } = (0,_elementor_events__WEBPACK_IMPORTED_MODULE_0__.getMixpanel)();
5261 - if (!config?.names?.components?.[action]) {
5262 - return;
5263 - }
5264 - const name = config.names.components[action];
5265 - dispatchEvent?.(name, {
5266 - ...data,
5267 - executed_by: executedBy ?? source,
5268 - 'Feature name': FEATURE_NAME
5269 - });
5270 -};
5271 -
5272 -// TODO: Remove this function in version 4.4.0 - moved to pro
5273 -const onElementDrop = (_args, element) => {
5274 - if (!(element?.model?.get('widgetType') === 'e-component')) {
5275 - return;
5276 - }
5277 - const editorSettings = element.model.get('editor_settings');
5278 - const componentName = editorSettings?.title;
5279 - const componentUID = editorSettings?.component_uid;
5280 - const instanceId = element.id;
5281 - const createdThisSession = (0,_store_store__WEBPACK_IMPORTED_MODULE_2__.selectCreatedThisSession)((0,_elementor_store__WEBPACK_IMPORTED_MODULE_1__.__getState)());
5282 - const isSameSessionReuse = componentUID && createdThisSession.includes(componentUID);
5283 - const eventsManagerConfig = window.elementorCommon.eventsManager.config;
5284 - const {
5285 - locations,
5286 - secondaryLocations
5287 - } = eventsManagerConfig;
5288 - trackComponentEvent({
5289 - action: 'instanceAdded',
5290 - executedBy: 'user',
5291 - instance_id: instanceId,
5292 - component_uid: componentUID,
5293 - component_name: componentName,
5294 - is_same_session_reuse: isSameSessionReuse,
5295 - location: locations.widgetPanel,
5296 - secondary_location: secondaryLocations.componentsTab
5297 - });
5298 -};
5299 -
5300 -/***/ }),
5301 -
5302 -/***/ "@elementor/editor":
5303 -/*!*****************************************!*\
5304 - !*** external ["elementorV2","editor"] ***!
5305 - \*****************************************/
5306 -/***/ (function(module) {
5307 -
5308 -module.exports = window["elementorV2"]["editor"];
5309 -
5310 -/***/ }),
5311 -
5312 -/***/ "@elementor/editor-canvas":
5313 -/*!***********************************************!*\
5314 - !*** external ["elementorV2","editorCanvas"] ***!
5315 - \***********************************************/
5316 -/***/ (function(module) {
5317 -
5318 -module.exports = window["elementorV2"]["editorCanvas"];
5319 -
5320 -/***/ }),
5321 -
5322 -/***/ "@elementor/editor-controls":
5323 -/*!*************************************************!*\
5324 - !*** external ["elementorV2","editorControls"] ***!
5325 - \*************************************************/
5326 -/***/ (function(module) {
5327 -
5328 -module.exports = window["elementorV2"]["editorControls"];
5329 -
5330 -/***/ }),
5331 -
5332 -/***/ "@elementor/editor-current-user":
5333 -/*!****************************************************!*\
5334 - !*** external ["elementorV2","editorCurrentUser"] ***!
5335 - \****************************************************/
5336 -/***/ (function(module) {
5337 -
5338 -module.exports = window["elementorV2"]["editorCurrentUser"];
5339 -
5340 -/***/ }),
5341 -
5342 -/***/ "@elementor/editor-documents":
5343 -/*!**************************************************!*\
5344 - !*** external ["elementorV2","editorDocuments"] ***!
5345 - \**************************************************/
5346 -/***/ (function(module) {
5347 -
5348 -module.exports = window["elementorV2"]["editorDocuments"];
5349 -
5350 -/***/ }),
5351 -
5352 -/***/ "@elementor/editor-editing-panel":
5353 -/*!*****************************************************!*\
5354 - !*** external ["elementorV2","editorEditingPanel"] ***!
5355 - \*****************************************************/
5356 -/***/ (function(module) {
5357 -
5358 -module.exports = window["elementorV2"]["editorEditingPanel"];
5359 -
5360 -/***/ }),
5361 -
5362 -/***/ "@elementor/editor-elements":
5363 -/*!*************************************************!*\
5364 - !*** external ["elementorV2","editorElements"] ***!
5365 - \*************************************************/
5366 -/***/ (function(module) {
5367 -
5368 -module.exports = window["elementorV2"]["editorElements"];
5369 -
5370 -/***/ }),
5371 -
5372 -/***/ "@elementor/editor-elements-panel":
5373 -/*!******************************************************!*\
5374 - !*** external ["elementorV2","editorElementsPanel"] ***!
5375 - \******************************************************/
5376 -/***/ (function(module) {
5377 -
5378 -module.exports = window["elementorV2"]["editorElementsPanel"];
5379 -
5380 -/***/ }),
5381 -
5382 -/***/ "@elementor/editor-embedded-documents-manager":
5383 -/*!*****************************************************************!*\
5384 - !*** external ["elementorV2","editorEmbeddedDocumentsManager"] ***!
5385 - \*****************************************************************/
5386 -/***/ (function(module) {
5387 -
5388 -module.exports = window["elementorV2"]["editorEmbeddedDocumentsManager"];
5389 -
5390 -/***/ }),
5391 -
5392 -/***/ "@elementor/editor-notifications":
5393 -/*!******************************************************!*\
5394 - !*** external ["elementorV2","editorNotifications"] ***!
5395 - \******************************************************/
5396 -/***/ (function(module) {
5397 -
5398 -module.exports = window["elementorV2"]["editorNotifications"];
5399 -
5400 -/***/ }),
5401 -
5402 -/***/ "@elementor/editor-panels":
5403 -/*!***********************************************!*\
5404 - !*** external ["elementorV2","editorPanels"] ***!
5405 - \***********************************************/
5406 -/***/ (function(module) {
5407 -
5408 -module.exports = window["elementorV2"]["editorPanels"];
5409 -
5410 -/***/ }),
5411 -
5412 -/***/ "@elementor/editor-props":
5413 -/*!**********************************************!*\
5414 - !*** external ["elementorV2","editorProps"] ***!
5415 - \**********************************************/
5416 -/***/ (function(module) {
5417 -
5418 -module.exports = window["elementorV2"]["editorProps"];
5419 -
5420 -/***/ }),
5421 -
5422 -/***/ "@elementor/editor-templates":
5423 -/*!**************************************************!*\
5424 - !*** external ["elementorV2","editorTemplates"] ***!
5425 - \**************************************************/
5426 -/***/ (function(module) {
5427 -
5428 -module.exports = window["elementorV2"]["editorTemplates"];
5429 -
5430 -/***/ }),
5431 -
5432 -/***/ "@elementor/editor-ui":
5433 -/*!*******************************************!*\
5434 - !*** external ["elementorV2","editorUi"] ***!
5435 - \*******************************************/
5436 -/***/ (function(module) {
5437 -
5438 -module.exports = window["elementorV2"]["editorUi"];
5439 -
5440 -/***/ }),
5441 -
5442 -/***/ "@elementor/editor-v1-adapters":
5443 -/*!***************************************************!*\
5444 - !*** external ["elementorV2","editorV1Adapters"] ***!
5445 - \***************************************************/
5446 -/***/ (function(module) {
5447 -
5448 -module.exports = window["elementorV2"]["editorV1Adapters"];
5449 -
5450 -/***/ }),
5451 -
5452 -/***/ "@elementor/events":
5453 -/*!*****************************************!*\
5454 - !*** external ["elementorV2","events"] ***!
5455 - \*****************************************/
5456 -/***/ (function(module) {
5457 -
5458 -module.exports = window["elementorV2"]["events"];
5459 -
5460 -/***/ }),
5461 -
5462 -/***/ "@elementor/http-client":
5463 -/*!*********************************************!*\
5464 - !*** external ["elementorV2","httpClient"] ***!
5465 - \*********************************************/
5466 -/***/ (function(module) {
5467 -
5468 -module.exports = window["elementorV2"]["httpClient"];
5469 -
5470 -/***/ }),
5471 -
5472 -/***/ "@elementor/icons":
5473 -/*!****************************************!*\
5474 - !*** external ["elementorV2","icons"] ***!
5475 - \****************************************/
5476 -/***/ (function(module) {
5477 -
5478 -module.exports = window["elementorV2"]["icons"];
5479 -
5480 -/***/ }),
5481 -
5482 -/***/ "@elementor/schema":
5483 -/*!*****************************************!*\
5484 - !*** external ["elementorV2","schema"] ***!
5485 - \*****************************************/
5486 -/***/ (function(module) {
5487 -
5488 -module.exports = window["elementorV2"]["schema"];
5489 -
5490 -/***/ }),
5491 -
5492 -/***/ "@elementor/store":
5493 -/*!****************************************!*\
5494 - !*** external ["elementorV2","store"] ***!
5495 - \****************************************/
5496 -/***/ (function(module) {
5497 -
5498 -module.exports = window["elementorV2"]["store"];
5499 -
5500 -/***/ }),
5501 -
5502 -/***/ "@elementor/ui":
5503 -/*!*************************************!*\
5504 - !*** external ["elementorV2","ui"] ***!
5505 - \*************************************/
5506 -/***/ (function(module) {
5507 -
5508 -module.exports = window["elementorV2"]["ui"];
5509 -
5510 -/***/ }),
5511 -
5512 -/***/ "@elementor/utils":
5513 -/*!****************************************!*\
5514 - !*** external ["elementorV2","utils"] ***!
5515 - \****************************************/
5516 -/***/ (function(module) {
5517 -
5518 -module.exports = window["elementorV2"]["utils"];
5519 -
5520 -/***/ }),
5521 -
5522 -/***/ "@wordpress/i18n":
5523 -/*!******************************!*\
5524 - !*** external ["wp","i18n"] ***!
5525 - \******************************/
5526 -/***/ (function(module) {
5527 -
5528 -module.exports = window["wp"]["i18n"];
5529 -
5530 -/***/ }),
5531 -
5532 -/***/ "react":
5533 -/*!**************************!*\
5534 - !*** external ["React"] ***!
5535 - \**************************/
5536 -/***/ (function(module) {
5537 -
5538 -module.exports = window["React"];
5539 -
5540 -/***/ })
5541 -
5542 -/******/ });
5543 -/************************************************************************/
5544 -/******/ // The module cache
5545 -/******/ var __webpack_module_cache__ = {};
5546 -/******/
5547 -/******/ // The require function
5548 -/******/ function __webpack_require__(moduleId) {
5549 -/******/ // Check if module is in cache
5550 -/******/ var cachedModule = __webpack_module_cache__[moduleId];
5551 -/******/ if (cachedModule !== undefined) {
5552 -/******/ return cachedModule.exports;
5553 -/******/ }
5554 -/******/ // Create a new module (and put it into the cache)
5555 -/******/ var module = __webpack_module_cache__[moduleId] = {
5556 -/******/ // no module.id needed
5557 -/******/ // no module.loaded needed
5558 -/******/ exports: {}
5559 -/******/ };
5560 -/******/
5561 -/******/ // Execute the module function
5562 -/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
5563 -/******/
5564 -/******/ // Return the exports of the module
5565 -/******/ return module.exports;
5566 -/******/ }
5567 -/******/
5568 -/************************************************************************/
5569 -/******/ /* webpack/runtime/compat get default export */
5570 -/******/ !function() {
5571 -/******/ // getDefaultExport function for compatibility with non-harmony modules
5572 -/******/ __webpack_require__.n = function(module) {
5573 -/******/ var getter = module && module.__esModule ?
5574 -/******/ function() { return module['default']; } :
5575 -/******/ function() { return module; };
5576 -/******/ __webpack_require__.d(getter, { a: getter });
5577 -/******/ return getter;
5578 -/******/ };
5579 -/******/ }();
5580 -/******/
5581 -/******/ /* webpack/runtime/define property getters */
5582 -/******/ !function() {
5583 -/******/ // define getter functions for harmony exports
5584 -/******/ __webpack_require__.d = function(exports, definition) {
5585 -/******/ for(var key in definition) {
5586 -/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
5587 -/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
5588 -/******/ }
5589 -/******/ }
5590 -/******/ };
5591 -/******/ }();
5592 -/******/
5593 -/******/ /* webpack/runtime/hasOwnProperty shorthand */
5594 -/******/ !function() {
5595 -/******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }
5596 -/******/ }();
5597 -/******/
5598 -/******/ /* webpack/runtime/make namespace object */
5599 -/******/ !function() {
5600 -/******/ // define __esModule on exports
5601 -/******/ __webpack_require__.r = function(exports) {
5602 -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
5603 -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5604 -/******/ }
5605 -/******/ Object.defineProperty(exports, '__esModule', { value: true });
5606 -/******/ };
5607 -/******/ }();
5608 -/******/
5609 -/************************************************************************/
5610 -var __webpack_exports__ = {};
5611 -// This entry needs to be wrapped in an IIFE because it needs to be isolated against other modules in the chunk.
5612 -!function() {
5613 -/*!***************************************************************!*\
5614 - !*** ./packages/packages/core/editor-components/src/index.ts ***!
5615 - \***************************************************************/
5616 -__webpack_require__.r(__webpack_exports__);
5617 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
5618 -/* harmony export */ COMPONENT_WIDGET_TYPE: function() { return /* reexport safe */ _create_component_type__WEBPACK_IMPORTED_MODULE_12__.COMPONENT_WIDGET_TYPE; },
5619 -/* harmony export */ ComponentInstanceProvider: function() { return /* reexport safe */ _provider_component_instance_context__WEBPACK_IMPORTED_MODULE_20__.ComponentInstanceProvider; },
5620 -/* harmony export */ ComponentItem: function() { return /* reexport safe */ _components_components_tab_components_item__WEBPACK_IMPORTED_MODULE_3__.ComponentItem; },
5621 -/* harmony export */ ComponentName: function() { return /* reexport safe */ _components_components_tab_components_item__WEBPACK_IMPORTED_MODULE_3__.ComponentName; },
5622 -/* harmony export */ ComponentSearch: function() { return /* reexport safe */ _components_components_tab_component_search__WEBPACK_IMPORTED_MODULE_2__.ComponentSearch; },
5623 -/* harmony export */ ComponentsList: function() { return /* reexport safe */ _components_components_tab_components_list__WEBPACK_IMPORTED_MODULE_4__.ComponentsList; },
5624 -/* harmony export */ DetachAction: function() { return /* reexport safe */ _components_instance_editing_panel_detach_action__WEBPACK_IMPORTED_MODULE_11__.DetachAction; },
5625 -/* harmony export */ EditComponentAction: function() { return /* reexport safe */ _components_instance_editing_panel_instance_panel_header__WEBPACK_IMPORTED_MODULE_9__.EditComponentAction; },
5626 -/* harmony export */ EmptySearchResult: function() { return /* reexport safe */ _components_components_tab_components_list__WEBPACK_IMPORTED_MODULE_4__.EmptySearchResult; },
5627 -/* harmony export */ InstanceEmptyState: function() { return /* reexport safe */ _components_instance_editing_panel_empty_state__WEBPACK_IMPORTED_MODULE_7__.EmptyState; },
5628 -/* harmony export */ InstancePanelBody: function() { return /* reexport safe */ _components_instance_editing_panel_instance_panel_body__WEBPACK_IMPORTED_MODULE_8__.InstancePanelBody; },
5629 -/* harmony export */ InstancePanelHeader: function() { return /* reexport safe */ _components_instance_editing_panel_instance_panel_header__WEBPACK_IMPORTED_MODULE_9__.InstancePanelHeader; },
5630 -/* harmony export */ LoadingComponents: function() { return /* reexport safe */ _components_components_tab_loading_components__WEBPACK_IMPORTED_MODULE_5__.LoadingComponents; },
5631 -/* harmony export */ OverridablePropProvider: function() { return /* reexport safe */ _provider_overridable_prop_context__WEBPACK_IMPORTED_MODULE_21__.OverridablePropProvider; },
5632 -/* harmony export */ SLICE_NAME: function() { return /* reexport safe */ _store_store__WEBPACK_IMPORTED_MODULE_26__.SLICE_NAME; },
5633 -/* harmony export */ SearchProvider: function() { return /* reexport safe */ _components_components_tab_search_provider__WEBPACK_IMPORTED_MODULE_6__.SearchProvider; },
5634 -/* harmony export */ apiClient: function() { return /* reexport safe */ _api__WEBPACK_IMPORTED_MODULE_1__.apiClient; },
5635 -/* harmony export */ componentInstanceOverridePropTypeUtil: function() { return /* reexport safe */ _prop_types_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_16__.componentInstanceOverridePropTypeUtil; },
5636 -/* harmony export */ componentInstanceOverridesPropTypeUtil: function() { return /* reexport safe */ _prop_types_component_instance_overrides_prop_type__WEBPACK_IMPORTED_MODULE_17__.componentInstanceOverridesPropTypeUtil; },
5637 -/* harmony export */ componentInstancePropTypeUtil: function() { return /* reexport safe */ _prop_types_component_instance_prop_type__WEBPACK_IMPORTED_MODULE_18__.componentInstancePropTypeUtil; },
5638 -/* harmony export */ componentOverridablePropTypeUtil: function() { return /* reexport safe */ _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_19__.componentOverridablePropTypeUtil; },
5639 -/* harmony export */ componentsActions: function() { return /* reexport safe */ _store_dispatchers__WEBPACK_IMPORTED_MODULE_24__.componentsActions; },
5640 -/* harmony export */ componentsSelectors: function() { return /* reexport safe */ _store_selectors__WEBPACK_IMPORTED_MODULE_25__.componentsSelectors; },
5641 -/* harmony export */ createComponentsAction: function() { return /* reexport safe */ _store_store__WEBPACK_IMPORTED_MODULE_26__.createComponentsAction; },
5642 -/* harmony export */ filterValidOverridableProps: function() { return /* reexport safe */ _utils_filter_valid_overridable_props__WEBPACK_IMPORTED_MODULE_28__.filterValidOverridableProps; },
5643 -/* harmony export */ getComponentDocumentData: function() { return /* reexport safe */ _utils_component_document_data__WEBPACK_IMPORTED_MODULE_36__.getComponentDocumentData; },
5644 -/* harmony export */ getContainerByOriginId: function() { return /* reexport safe */ _utils_get_container_by_origin_id__WEBPACK_IMPORTED_MODULE_29__.getContainerByOriginId; },
5645 -/* harmony export */ getOverridableProp: function() { return /* reexport safe */ _utils_get_overridable_prop__WEBPACK_IMPORTED_MODULE_30__.getOverridableProp; },
5646 -/* harmony export */ getPropTypeForComponentOverride: function() { return /* reexport safe */ _utils_get_prop_type_for_component_override__WEBPACK_IMPORTED_MODULE_31__.getPropTypeForComponentOverride; },
5647 -/* harmony export */ init: function() { return /* reexport safe */ _init__WEBPACK_IMPORTED_MODULE_0__.init; },
5648 -/* harmony export */ isComponentInstance: function() { return /* reexport safe */ _utils_is_component_instance__WEBPACK_IMPORTED_MODULE_32__.isComponentInstance; },
5649 -/* harmony export */ loadComponentsAssets: function() { return /* reexport safe */ _store_actions_load_components_assets__WEBPACK_IMPORTED_MODULE_22__.loadComponentsAssets; },
5650 -/* harmony export */ onElementDrop: function() { return /* reexport safe */ _utils_tracking__WEBPACK_IMPORTED_MODULE_35__.onElementDrop; },
5651 -/* harmony export */ publishDraftComponentsInPageBeforeSave: function() { return /* reexport safe */ _sync_publish_draft_components_in_page_before_save__WEBPACK_IMPORTED_MODULE_27__.publishDraftComponentsInPageBeforeSave; },
5652 -/* harmony export */ registerComponentsReducer: function() { return /* reexport safe */ _store_store__WEBPACK_IMPORTED_MODULE_26__.registerComponentsReducer; },
5653 -/* harmony export */ resolveOverridePropValue: function() { return /* reexport safe */ _utils_resolve_override_prop_value__WEBPACK_IMPORTED_MODULE_33__.resolveOverridePropValue; },
5654 -/* harmony export */ selectComponentByUid: function() { return /* reexport safe */ _store_store__WEBPACK_IMPORTED_MODULE_26__.selectComponentByUid; },
5655 -/* harmony export */ selectCreatedThisSession: function() { return /* reexport safe */ _store_store__WEBPACK_IMPORTED_MODULE_26__.selectCreatedThisSession; },
5656 -/* harmony export */ selectOverridableProps: function() { return /* reexport safe */ _store_store__WEBPACK_IMPORTED_MODULE_26__.selectOverridableProps; },
5657 -/* harmony export */ selectPath: function() { return /* reexport safe */ _store_store__WEBPACK_IMPORTED_MODULE_26__.selectPath; },
5658 -/* harmony export */ slice: function() { return /* reexport safe */ _store_store__WEBPACK_IMPORTED_MODULE_26__.slice; },
5659 -/* harmony export */ switchToComponent: function() { return /* reexport safe */ _utils_switch_to_component__WEBPACK_IMPORTED_MODULE_34__.switchToComponent; },
5660 -/* harmony export */ trackComponentEvent: function() { return /* reexport safe */ _utils_tracking__WEBPACK_IMPORTED_MODULE_35__.trackComponentEvent; },
5661 -/* harmony export */ updateOverridableProp: function() { return /* reexport safe */ _store_actions_update_overridable_prop__WEBPACK_IMPORTED_MODULE_23__.updateOverridableProp; },
5662 -/* harmony export */ useComponentInstanceElement: function() { return /* reexport safe */ _provider_overridable_prop_context__WEBPACK_IMPORTED_MODULE_21__.useComponentInstanceElement; },
5663 -/* harmony export */ useComponents: function() { return /* reexport safe */ _hooks_use_components__WEBPACK_IMPORTED_MODULE_13__.useComponents; },
5664 -/* harmony export */ useComponentsPermissions: function() { return /* reexport safe */ _hooks_use_components_permissions__WEBPACK_IMPORTED_MODULE_14__.useComponentsPermissions; },
5665 -/* harmony export */ useCurrentComponent: function() { return /* reexport safe */ _store_store__WEBPACK_IMPORTED_MODULE_26__.useCurrentComponent; },
5666 -/* harmony export */ useCurrentComponentId: function() { return /* reexport safe */ _store_store__WEBPACK_IMPORTED_MODULE_26__.useCurrentComponentId; },
5667 -/* harmony export */ useFilteredComponents: function() { return /* reexport safe */ _components_components_tab_components_list__WEBPACK_IMPORTED_MODULE_4__.useFilteredComponents; },
5668 -/* harmony export */ useInstancePanelData: function() { return /* reexport safe */ _components_instance_editing_panel_use_instance_panel_data__WEBPACK_IMPORTED_MODULE_10__.useInstancePanelData; },
5669 -/* harmony export */ useIsSanitizedComponent: function() { return /* reexport safe */ _store_store__WEBPACK_IMPORTED_MODULE_26__.useIsSanitizedComponent; },
5670 -/* harmony export */ useOverridablePropValue: function() { return /* reexport safe */ _provider_overridable_prop_context__WEBPACK_IMPORTED_MODULE_21__.useOverridablePropValue; },
5671 -/* harmony export */ useOverridableProps: function() { return /* reexport safe */ _store_store__WEBPACK_IMPORTED_MODULE_26__.useOverridableProps; },
5672 -/* harmony export */ useSanitizeOverridableProps: function() { return /* reexport safe */ _hooks_use_sanitize_overridable_props__WEBPACK_IMPORTED_MODULE_15__.useSanitizeOverridableProps; }
5673 -/* harmony export */ });
5674 -/* harmony import */ var _init__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./init */ "./packages/packages/core/editor-components/src/init.ts");
5675 -/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./api */ "./packages/packages/core/editor-components/src/api.ts");
5676 -/* harmony import */ var _components_components_tab_component_search__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components/components-tab/component-search */ "./packages/packages/core/editor-components/src/components/components-tab/component-search.tsx");
5677 -/* harmony import */ var _components_components_tab_components_item__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./components/components-tab/components-item */ "./packages/packages/core/editor-components/src/components/components-tab/components-item.tsx");
5678 -/* harmony import */ var _components_components_tab_components_list__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./components/components-tab/components-list */ "./packages/packages/core/editor-components/src/components/components-tab/components-list.tsx");
5679 -/* harmony import */ var _components_components_tab_loading_components__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./components/components-tab/loading-components */ "./packages/packages/core/editor-components/src/components/components-tab/loading-components.tsx");
5680 -/* harmony import */ var _components_components_tab_search_provider__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./components/components-tab/search-provider */ "./packages/packages/core/editor-components/src/components/components-tab/search-provider.tsx");
5681 -/* harmony import */ var _components_instance_editing_panel_empty_state__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./components/instance-editing-panel/empty-state */ "./packages/packages/core/editor-components/src/components/instance-editing-panel/empty-state.tsx");
5682 -/* harmony import */ var _components_instance_editing_panel_instance_panel_body__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./components/instance-editing-panel/instance-panel-body */ "./packages/packages/core/editor-components/src/components/instance-editing-panel/instance-panel-body.tsx");
5683 -/* harmony import */ var _components_instance_editing_panel_instance_panel_header__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./components/instance-editing-panel/instance-panel-header */ "./packages/packages/core/editor-components/src/components/instance-editing-panel/instance-panel-header.tsx");
5684 -/* harmony import */ var _components_instance_editing_panel_use_instance_panel_data__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./components/instance-editing-panel/use-instance-panel-data */ "./packages/packages/core/editor-components/src/components/instance-editing-panel/use-instance-panel-data.ts");
5685 -/* harmony import */ var _components_instance_editing_panel_detach_action__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./components/instance-editing-panel/detach-action */ "./packages/packages/core/editor-components/src/components/instance-editing-panel/detach-action.tsx");
5686 -/* harmony import */ var _create_component_type__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./create-component-type */ "./packages/packages/core/editor-components/src/create-component-type.ts");
5687 -/* harmony import */ var _hooks_use_components__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./hooks/use-components */ "./packages/packages/core/editor-components/src/hooks/use-components.ts");
5688 -/* harmony import */ var _hooks_use_components_permissions__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./hooks/use-components-permissions */ "./packages/packages/core/editor-components/src/hooks/use-components-permissions.ts");
5689 -/* harmony import */ var _hooks_use_sanitize_overridable_props__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./hooks/use-sanitize-overridable-props */ "./packages/packages/core/editor-components/src/hooks/use-sanitize-overridable-props.ts");
5690 -/* harmony import */ var _prop_types_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./prop-types/component-instance-override-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-instance-override-prop-type.ts");
5691 -/* harmony import */ var _prop_types_component_instance_overrides_prop_type__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./prop-types/component-instance-overrides-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-instance-overrides-prop-type.ts");
5692 -/* harmony import */ var _prop_types_component_instance_prop_type__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./prop-types/component-instance-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-instance-prop-type.ts");
5693 -/* harmony import */ var _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./prop-types/component-overridable-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts");
5694 -/* harmony import */ var _provider_component_instance_context__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./provider/component-instance-context */ "./packages/packages/core/editor-components/src/provider/component-instance-context.tsx");
5695 -/* harmony import */ var _provider_overridable_prop_context__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./provider/overridable-prop-context */ "./packages/packages/core/editor-components/src/provider/overridable-prop-context.tsx");
5696 -/* harmony import */ var _store_actions_load_components_assets__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./store/actions/load-components-assets */ "./packages/packages/core/editor-components/src/store/actions/load-components-assets.ts");
5697 -/* harmony import */ var _store_actions_update_overridable_prop__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./store/actions/update-overridable-prop */ "./packages/packages/core/editor-components/src/store/actions/update-overridable-prop.ts");
5698 -/* harmony import */ var _store_dispatchers__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./store/dispatchers */ "./packages/packages/core/editor-components/src/store/dispatchers.ts");
5699 -/* harmony import */ var _store_selectors__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./store/selectors */ "./packages/packages/core/editor-components/src/store/selectors.ts");
5700 -/* harmony import */ var _store_store__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./store/store */ "./packages/packages/core/editor-components/src/store/store.ts");
5701 -/* harmony import */ var _sync_publish_draft_components_in_page_before_save__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./sync/publish-draft-components-in-page-before-save */ "./packages/packages/core/editor-components/src/sync/publish-draft-components-in-page-before-save.ts");
5702 -/* harmony import */ var _utils_filter_valid_overridable_props__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./utils/filter-valid-overridable-props */ "./packages/packages/core/editor-components/src/utils/filter-valid-overridable-props.ts");
5703 -/* harmony import */ var _utils_get_container_by_origin_id__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./utils/get-container-by-origin-id */ "./packages/packages/core/editor-components/src/utils/get-container-by-origin-id.ts");
5704 -/* harmony import */ var _utils_get_overridable_prop__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./utils/get-overridable-prop */ "./packages/packages/core/editor-components/src/utils/get-overridable-prop.ts");
5705 -/* harmony import */ var _utils_get_prop_type_for_component_override__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./utils/get-prop-type-for-component-override */ "./packages/packages/core/editor-components/src/utils/get-prop-type-for-component-override.ts");
5706 -/* harmony import */ var _utils_is_component_instance__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./utils/is-component-instance */ "./packages/packages/core/editor-components/src/utils/is-component-instance.ts");
5707 -/* harmony import */ var _utils_resolve_override_prop_value__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./utils/resolve-override-prop-value */ "./packages/packages/core/editor-components/src/utils/resolve-override-prop-value.ts");
5708 -/* harmony import */ var _utils_switch_to_component__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./utils/switch-to-component */ "./packages/packages/core/editor-components/src/utils/switch-to-component.ts");
5709 -/* harmony import */ var _utils_tracking__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./utils/tracking */ "./packages/packages/core/editor-components/src/utils/tracking.ts");
5710 -/* harmony import */ var _utils_component_document_data__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./utils/component-document-data */ "./packages/packages/core/editor-components/src/utils/component-document-data.ts");
5711 -
5712 -
5713 -
5714 -
5715 -
5716 -
5717 -
5718 -
5719 -
5720 -
5721 -
5722 -
5723 -
5724 -
5725 -
5726 -
5727 -
5728 -
5729 -
5730 -
5731 -
5732 -
5733 -
5734 -
5735 -
5736 -
5737 -
5738 -
5739 -
5740 -
5741 -
5742 -
5743 -
5744 -
5745 -
5746 -
5747 -
5748 -}();
5749 -(window.elementorV2 = window.elementorV2 || {}).editorComponents = __webpack_exports__;
5750 -/******/ })()
5751 -;
5752 -window.elementorV2.editorComponents?.init?.();
1 +/*! For license information please see editor-components.js.LICENSE.txt */
2 +!function(){"use strict";var e={"./packages/packages/core/editor-components/src/api.ts":function(e,t,n){n.r(t),n.d(t,{apiClient:function(){return a},getParams:function(){return getParams}});var o=n("@elementor/editor-v1-adapters"),r=n("@elementor/http-client");const s="elementor/v1/components",getParams=e=>({action:"get_document_config",unique_id:`document-config-${e}`,data:{id:e}}),a={get:()=>(0,r.httpService)().get(`${s}`).then(e=>e.data.data),create:e=>(0,r.httpService)().post(`${s}`,e).then(e=>e.data.data),updateStatuses:(e,t)=>(0,r.httpService)().put(`${s}/status`,{ids:e,status:t}),getComponentConfig:e=>o.ajax.load(getParams(e)),invalidateComponentConfigCache:e=>o.ajax.invalidateCache(getParams(e)),getComponentLockStatus:async e=>await(0,r.httpService)().get(`${s}/lock-status`,{params:{componentId:e}}).then(e=>{const{is_current_user_allow_to_edit:t,locked_by:n}=e.data.data;return{isAllowedToSwitchDocument:t,lockedBy:n||""}}),lockComponent:async e=>await(0,r.httpService)().post(`${s}/lock`,{componentId:e}).then(e=>e.data),unlockComponent:async e=>await(0,r.httpService)().post(`${s}/unlock`,{componentId:e}).then(e=>e.data),getOverridableProps:async e=>await(0,r.httpService)().get(`${s}/overridable-props`,{params:{componentId:e.toString()}}).then(e=>e.data.data),updateArchivedComponents:async(e,t)=>await(0,r.httpService)().post(`${s}/archive`,{componentIds:e,status:t}).then(e=>e.data.data),updateComponentTitle:(e,t)=>(0,r.httpService)().post(`${s}/update-titles`,{components:e,status:t}).then(e=>e.data.data),validate:async e=>await(0,r.httpService)().post(`${s}/create-validate`,e).then(e=>e.data)}},"./packages/packages/core/editor-components/src/component-instance-transformer.ts":function(e,t,n){n.r(t),n.d(t,{componentInstanceTransformer:function(){return c}});var o=n("@elementor/editor-canvas"),r=n("@elementor/store"),s=n("./packages/packages/core/editor-components/src/store/store.ts"),a=n("./packages/packages/core/editor-components/src/utils/component-document-data.ts");const c=(0,o.createTransformer)(async({component_id:e,overrides:t})=>{const n=(0,s.selectUnpublishedComponents)((0,r.__getState)()).find(({uid:t})=>t===e),o=t?.reduce((e,t)=>({...e,...t}),{});if(n)return{elements:structuredClone(n.elements),overrides:o};if("number"!=typeof e)throw new Error(`Component ID "${e}" not valid.`);const c=await(0,a.getComponentDocumentData)(e);return{elements:c?.elements??[],overrides:o}})},"./packages/packages/core/editor-components/src/component-overridable-transformer.ts":function(e,t,n){n.r(t),n.d(t,{componentOverridableTransformer:function(){return r}});var o=n("@elementor/editor-canvas");const r=(0,o.createTransformer)((e,t)=>{const{overrides:n}=t.renderContext??{},r=n?.[e.override_key];if(r){return function isOriginValueOverride(e){return"override"===e.$$type}(e.origin_value)?function transformOverride(e,t,n){const r=o.settingsTransformersRegistry.get("override");if(!r)return null;const s=r(e.origin_value.value,t);if(!s)return null;const[a]=Object.keys(s);return{[a]:n}}(e,t,r):r}return e.origin_value})},"./packages/packages/core/editor-components/src/component-override-transformer.ts":function(e,t,n){n.r(t),n.d(t,{componentOverrideTransformer:function(){return r}});var o=n("@elementor/editor-canvas");const r=(0,o.createTransformer)(e=>{const{override_key:t,override_value:n}=e;return{[t]:n}})},"./packages/packages/core/editor-components/src/components/components-tab/component-search.tsx":function(e,t,n){n.r(t),n.d(t,{ComponentSearch:function(){return ComponentSearch}});var o=n("react"),r=n("@elementor/icons"),s=n("@elementor/ui"),a=n("@wordpress/i18n"),c=n("./packages/packages/core/editor-components/src/components/components-tab/search-provider.tsx");const ComponentSearch=()=>{const{inputValue:e,handleChange:t}=(0,c.useSearch)();return o.createElement(s.Stack,{direction:"row",gap:.5,sx:{width:"100%",px:2,py:1.5}},o.createElement(s.Box,{sx:{flexGrow:1}},o.createElement(s.TextField,{role:"search",fullWidth:!0,size:"tiny",value:e,placeholder:(0,a.__)("Search","elementor"),onChange:e=>t(e.target.value),InputProps:{startAdornment:o.createElement(s.InputAdornment,{position:"start"},o.createElement(r.SearchIcon,{fontSize:"tiny"}))}})))}},"./packages/packages/core/editor-components/src/components/components-tab/components-item.tsx":function(e,t,n){n.r(t),n.d(t,{ComponentItem:function(){return c},ComponentName:function(){return ComponentName}});var o=n("react"),r=n("@elementor/editor-ui"),s=n("@elementor/icons"),a=n("@elementor/ui");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},_extends.apply(null,arguments)}const c=(0,o.forwardRef)(({component:e,disabled:t=!0,draggable:n,onDragStart:r,onDragEnd:c,onClick:p,isEditing:l=!1,error:d=null,nameSlot:m,endSlot:u,...g},f)=>o.createElement(a.ListItemButton,_extends({disabled:t,draggable:n,onDragStart:r,onDragEnd:c,shape:"rounded",ref:f,sx:{border:"solid 1px",borderColor:"divider",py:.5,px:1,display:"flex",width:"100%",alignItems:"center",gap:1}},g),o.createElement(a.Box,{display:"flex",alignItems:"center",gap:1,minWidth:0,flexGrow:1,onClick:p},o.createElement(a.ListItemIcon,{size:"tiny"},o.createElement(s.ComponentsIcon,{fontSize:"tiny"})),o.createElement(i,{isActive:l,isError:!!d},o.createElement(a.Box,{display:"flex",flex:1,minWidth:0,flexGrow:1},m??o.createElement(ComponentName,{name:e.name})))),u)),i=(0,a.styled)(a.Box,{shouldForwardProp:e=>"isActive"!==e&&"isError"!==e})(({theme:e,isActive:t,isError:n})=>({display:"flex",width:"100%",flexGrow:1,borderRadius:e.spacing(.5),border:getIndicatorBorder({isActive:t,isError:n,theme:e}),padding:`0 ${e.spacing(1)}`,marginLeft:t?e.spacing(1):0,minWidth:0})),getIndicatorBorder=({isActive:e,isError:t,theme:n})=>t?`2px solid ${n.palette.error.main}`:e?`2px solid ${n.palette.secondary.main}`:"none";function ComponentName({name:e,editable:t}){return t?.isEditing?o.createElement(r.EditableField,_extends({ref:t.ref,as:a.Typography,variant:"caption"},t.getProps())):o.createElement(r.EllipsisWithTooltip,{title:e,as:a.Typography,variant:"caption",color:"text.primary"})}},"./packages/packages/core/editor-components/src/components/components-tab/components-list.tsx":function(e,t,n){n.r(t),n.d(t,{ComponentsList:function(){return ComponentsList},EmptySearchResult:function(){return EmptySearchResult},useFilteredComponents:function(){return useFilteredComponents}});var o=n("react"),r=n("@elementor/icons"),s=n("@elementor/ui"),a=n("@wordpress/i18n"),c=n("./packages/packages/core/editor-components/src/hooks/use-components.ts"),i=n("./packages/packages/core/editor-components/src/hooks/use-components-permissions.ts"),p=n("./packages/packages/core/editor-components/src/utils/is-pro-components-supported.ts"),l=n("./packages/packages/core/editor-components/src/components/components-tab/components-item.tsx"),d=n("./packages/packages/core/editor-components/src/components/components-tab/loading-components.tsx"),m=n("./packages/packages/core/editor-components/src/components/components-tab/search-provider.tsx");const u={fontSize:"0.875rem !important",fontWeight:"500 !important"};function ComponentsList(){const{components:e,isLoading:t,searchValue:n}=useFilteredComponents();if(t)return o.createElement(d.LoadingComponents,null);return!e?.length?n.length?o.createElement(EmptySearchResult,null):(0,p.isProOutdatedForComponents)()?o.createElement(ProOutdatedEmptyState,null):(0,p.isProComponentsSupported)()?o.createElement(EmptyState,null):o.createElement(ProUpgradeEmptyState,null):o.createElement(s.List,{sx:{display:"flex",flexDirection:"column",gap:1,px:2}},e.map(e=>o.createElement(l.ComponentItem,{key:e.uid,component:e})))}const ProUpgradeEmptyState=()=>o.createElement(s.Stack,{alignItems:"center",justifyContent:"start",height:"100%",sx:{px:2,py:4},gap:2,overflow:"hidden"},o.createElement(s.Stack,{alignItems:"center",gap:1},o.createElement(r.ComponentsIcon,{fontSize:"large",sx:{color:"text.secondary"}}),o.createElement(s.Typography,{align:"center",variant:"subtitle2",color:"text.secondary",sx:u},(0,a.__)("Create Reusable Components","elementor")),o.createElement(s.Typography,{align:"center",variant:"caption",color:"secondary",sx:{maxWidth:200}},(0,a.__)("Create design elements that sync across your entire site.","elementor"))),o.createElement(s.Button,{variant:"contained",color:"promotion",size:"small",startIcon:o.createElement(r.CrownFilledIcon,null),href:"https://go.elementor.com/go-pro-components/",target:"_blank",rel:"noopener noreferrer"},(0,a.__)("Upgrade now","elementor"))),ProOutdatedEmptyState=()=>o.createElement(s.Stack,{alignItems:"center",justifyContent:"start",height:"100%",sx:{px:2,py:4,maxWidth:268,m:"auto"},gap:2,overflow:"hidden"},o.createElement(s.Stack,{alignItems:"center",gap:1},o.createElement(r.ComponentsIcon,{fontSize:"large",sx:{color:"text.secondary"}}),o.createElement(s.Typography,{align:"center",variant:"subtitle2",color:"text.secondary",sx:u},(0,a.__)("Create Reusable Components","elementor")),o.createElement(s.Typography,{align:"center",variant:"caption",color:"secondary"},(0,a.__)("Create design elements that sync across your entire site.","elementor")),o.createElement(s.Typography,{align:"center",variant:"caption",color:"secondary",sx:{mt:1}},(0,a.__)("To create components, update Elementor Pro to the latest version.","elementor"))),o.createElement(s.Button,{variant:"text",color:"info",size:"small",href:"/wp-admin/plugins.php",target:"_blank",rel:"noopener noreferrer"},(0,a.__)("Update Elementor Pro","elementor"))),EmptyState=()=>{const{canCreate:e}=(0,i.useComponentsPermissions)();return o.createElement(s.Stack,{alignItems:"center",justifyContent:"start",height:"100%",sx:{px:2,py:4},gap:2,overflow:"hidden"},o.createElement(s.Stack,{alignItems:"center",gap:1},o.createElement(r.ComponentsIcon,{fontSize:"large",sx:{color:"text.secondary"}}),o.createElement(s.Typography,{align:"center",variant:"subtitle2",color:"text.secondary",sx:u},(0,a.__)("No components yet","elementor")),o.createElement(s.Typography,{align:"center",variant:"caption",color:"secondary",sx:{maxWidth:200}},(0,a.__)("Components are reusable blocks that sync across your site.","elementor"),o.createElement("br",null),e?(0,a.__)("Create once, use everywhere.","elementor"):(0,a.__)("With your current role, you cannot create components. Contact an administrator to create one.","elementor")),o.createElement(s.Link,{href:"http://go.elementor.com/components-guide-article",target:"_blank",rel:"noopener noreferrer",variant:"caption",color:"info.main"},(0,a.__)("Learn more about components","elementor"))),e&&o.createElement(o.Fragment,null,o.createElement(s.Divider,{sx:{width:"100%"}}),o.createElement(s.Stack,{alignItems:"center",gap:1,width:"100%"},o.createElement(s.Typography,{align:"center",variant:"subtitle2",color:"text.secondary",sx:u},(0,a.__)("Create your first one:","elementor")),o.createElement(s.Typography,{align:"center",variant:"caption",color:"secondary",sx:{maxWidth:228}},(0,a.__)('Right-click any div-block or flexbox on your canvas or structure and select "Create component"',"elementor")))))},EmptySearchResult=()=>{const{searchValue:e,clearSearch:t}=(0,m.useSearch)();return o.createElement(s.Stack,{color:"text.secondary",pt:5,alignItems:"center",gap:1,overflow:"hidden",justifySelf:"center"},o.createElement(r.ComponentsIcon,null),o.createElement(s.Box,{sx:{width:"100%"}},o.createElement(s.Typography,{align:"center",variant:"subtitle2",color:"inherit",sx:u},(0,a.__)("Sorry, nothing matched","elementor")),e&&o.createElement(s.Typography,{variant:"subtitle2",color:"inherit",sx:{...u,display:"flex",width:"100%",justifyContent:"center"}},o.createElement("span",null,"“"),o.createElement("span",{style:{maxWidth:"80%",overflow:"hidden",textOverflow:"ellipsis"}},e),o.createElement("span",null,"”."))),o.createElement(s.Typography,{align:"center",variant:"caption",color:"inherit"},(0,a.__)("Try something else.","elementor")),o.createElement(s.Typography,{align:"center",variant:"caption",color:"inherit"},o.createElement(s.Link,{color:"secondary",variant:"caption",component:"button",onClick:t},(0,a.__)("Clear & try again","elementor"))))},useFilteredComponents=()=>{const{components:e,isLoading:t}=(0,c.useComponents)(),{searchValue:n}=(0,m.useSearch)();return{components:e.filter(e=>e.name.toLowerCase().includes(n.toLowerCase())),isLoading:t,searchValue:n}}},"./packages/packages/core/editor-components/src/components/components-tab/components-pro-notification.tsx":function(e,t,n){n.r(t),n.d(t,{ComponentsProNotification:function(){return ComponentsProNotification},UPGRADE_URL:function(){return a}});var o=n("react"),r=n("@wordpress/i18n"),s=n("./packages/packages/core/editor-components/src/components/components-upgrade-alert.tsx");const a="https://go.elementor.com/go-pro-components-exist-footer/";function ComponentsProNotification(){return o.createElement(s.ComponentsUpgradeAlert,{title:(0,r.__)("Create new components","elementor"),description:(0,r.__)("Creating new components requires an active Pro subscription.","elementor"),upgradeUrl:a})}},"./packages/packages/core/editor-components/src/components/components-tab/components-update-notification.tsx":function(e,t,n){n.r(t),n.d(t,{ComponentsUpdateNotification:function(){return ComponentsUpdateNotification}});var o=n("react"),r=n("@wordpress/i18n"),s=n("./packages/packages/core/editor-components/src/components/components-update-alert.tsx");function ComponentsUpdateNotification(){return o.createElement(s.ComponentsUpdateAlert,{title:(0,r.__)("Create new Components","elementor"),description:(0,r.__)("To create new components, update Elementor Pro to the latest version.","elementor")})}},"./packages/packages/core/editor-components/src/components/components-tab/components.tsx":function(e,t,n){n.r(t),n.d(t,{Components:function(){return Components}});var o=n("react"),r=n("@elementor/editor-ui"),s=n("@elementor/ui"),a=n("./packages/packages/core/editor-components/src/hooks/use-components.ts"),c=n("./packages/packages/core/editor-components/src/utils/is-pro-components-supported.ts"),i=n("./packages/packages/core/editor-components/src/components/components-tab/component-search.tsx"),p=n("./packages/packages/core/editor-components/src/components/components-tab/components-list.tsx"),l=n("./packages/packages/core/editor-components/src/components/components-tab/components-pro-notification.tsx"),d=n("./packages/packages/core/editor-components/src/components/components-tab/components-update-notification.tsx"),m=n("./packages/packages/core/editor-components/src/components/components-tab/search-provider.tsx");const u="components-full-height-panel",ComponentsContent=()=>{const{components:e,isLoading:t}=(0,a.useComponents)(),n=!t&&e.length>0,r=!(0,c.isProComponentsSupported)()&&n,m=(0,c.isProOutdatedForComponents)();return(0,o.useLayoutEffect)(()=>{let e=document.getElementById(u);return e||(e=document.createElement("style"),e.id=u,e.textContent="\n#elementor-panel-page-elements {\n\tdisplay: flex;\n\tflex-direction: column;\n\theight: 100%;\n}\n\n#elementor-panel-elements {\n\tdisplay: flex;\n\tflex-direction: column;\n\tflex: 1;\n\tmin-height: 0;\n}\n\n#elementor-panel-elements-wrapper {\n\tdisplay: flex;\n\tflex-direction: column;\n\tflex: 1;\n\tmin-height: 0;\n}\n",document.head.appendChild(e)),()=>{document.getElementById(u)?.remove()}},[]),o.createElement(s.Stack,{justifyContent:"space-between",sx:{flex:1,minHeight:0}},n&&o.createElement(i.ComponentSearch,null),o.createElement(p.ComponentsList,null),r&&(m?o.createElement(d.ComponentsUpdateNotification,null):o.createElement(l.ComponentsProNotification,null)))},Components=()=>o.createElement(r.ThemeProvider,null,o.createElement(m.SearchProvider,{localStorageKey:"elementor-components-search"},o.createElement(ComponentsContent,null)))},"./packages/packages/core/editor-components/src/components/components-tab/loading-components.tsx":function(e,t,n){n.r(t),n.d(t,{LoadingComponents:function(){return LoadingComponents}});var o=n("react"),r=n("@elementor/ui");const s=Array.from({length:3},(e,t)=>t),LoadingComponents=()=>o.createElement(r.Stack,{"aria-label":"Loading components",gap:1.5,sx:{pointerEvents:"none",position:"relative",maxHeight:"300px",overflow:"hidden",px:1,"&:after":{position:"absolute",bottom:0,content:'""',left:0,width:"100%",height:"40%",pointerEvents:"none",zIndex:1}}},s.map(e=>o.createElement(r.Box,{key:e,display:"flex",alignItems:"center",gap:1.5,sx:{py:.75,px:1.5,opacity:0,animation:`e-loading-fade-in 0.4s ease-out ${80*e}ms forwards`,"@keyframes e-loading-fade-in":{from:{opacity:0,transform:"translateY(4px)"},to:{opacity:1,transform:"translateY(0)"}}}},o.createElement(r.Skeleton,{animation:"wave",variant:"rounded",width:24,height:24}),o.createElement(r.Skeleton,{animation:"wave",variant:"rounded",width:"60%",height:14}))))},"./packages/packages/core/editor-components/src/components/components-tab/search-provider.tsx":function(e,t,n){n.r(t),n.d(t,{SearchProvider:function(){return SearchProvider},useSearch:function(){return useSearch}});var o=n("react"),r=n("@elementor/utils");const s=(0,o.createContext)(void 0),SearchProvider=({children:e,localStorageKey:t})=>{const{debouncedValue:n,handleChange:a,inputValue:c}=(0,r.useSearchState)({localStorageKey:t});return o.createElement(s.Provider,{value:{handleChange:a,clearSearch:()=>{a("")},searchValue:n,inputValue:c}},e)},useSearch=()=>{const e=(0,o.useContext)(s);if(!e)throw new Error("useSearch must be used within a SearchProvider");return e}},"./packages/packages/core/editor-components/src/components/components-update-alert.tsx":function(e,t,n){n.r(t),n.d(t,{ComponentsUpdateAlert:function(){return ComponentsUpdateAlert}});var o=n("react"),r=n("@elementor/icons"),s=n("@elementor/ui"),a=n("@wordpress/i18n");const c="/wp-admin/plugins.php";function ComponentsUpdateAlert({title:e,description:t}){return o.createElement(s.Box,{sx:{mt:"auto",position:"sticky",bottom:0}},o.createElement(s.Alert,{variant:"standard",color:"info",icon:o.createElement(r.InfoCircleFilledIcon,{fontSize:"tiny"}),role:"status",size:"small",action:o.createElement(s.AlertAction,{variant:"contained",color:"info",href:c,target:"_blank",rel:"noopener noreferrer"},(0,a.__)("Upgrade Now","elementor")),sx:{m:2,mt:1}},o.createElement(s.AlertTitle,null,e),o.createElement(s.Typography,{variant:"caption"},t)))}},"./packages/packages/core/editor-components/src/components/components-upgrade-alert.tsx":function(e,t,n){n.r(t),n.d(t,{ComponentsUpgradeAlert:function(){return ComponentsUpgradeAlert}});var o=n("react"),r=n("@elementor/icons"),s=n("@elementor/ui"),a=n("@wordpress/i18n");function ComponentsUpgradeAlert({title:e,description:t,upgradeUrl:n}){return o.createElement(s.Box,{sx:{mt:"auto",position:"sticky",bottom:0}},o.createElement(s.Alert,{variant:"standard",color:"promotion",icon:o.createElement(r.CrownFilledIcon,{fontSize:"tiny"}),role:"status",size:"small",action:o.createElement(s.AlertAction,{variant:"contained",color:"promotion",href:n,target:"_blank",rel:"noopener noreferrer"},(0,a.__)("Upgrade now","elementor")),sx:{m:2,mt:1}},o.createElement(s.AlertTitle,null,e),o.createElement(s.Typography,{variant:"caption"},t)))}},"./packages/packages/core/editor-components/src/components/control-label.tsx":function(e,t,n){n.r(t),n.d(t,{ControlLabel:function(){return ControlLabel}});var o=n("react"),r=n("@elementor/editor-controls"),s=n("@elementor/ui");const ControlLabel=({children:e,...t})=>o.createElement(s.Stack,{direction:"row",alignItems:"center",justifyItems:"start",gap:.25},o.createElement(r.ControlFormLabel,t,e),o.createElement(r.ControlAdornments,null))},"./packages/packages/core/editor-components/src/components/detach-instance-confirmation-dialog.tsx":function(e,t,n){n.r(t),n.d(t,{DetachInstanceConfirmationDialog:function(){return DetachInstanceConfirmationDialog},openDetachConfirmDialog:function(){return openDetachConfirmDialog}});var o=n("react"),r=n("@elementor/editor-ui"),s=n("@elementor/icons"),a=n("@wordpress/i18n");function DetachInstanceConfirmationDialog({open:e,onClose:t,onConfirm:n}){return o.createElement(r.ConfirmationDialog,{open:e,onClose:t},o.createElement(r.ConfirmationDialog.Title,{icon:s.AlertTriangleFilledIcon,iconColor:"secondary"},(0,a.__)("Detach from Component?","elementor")),o.createElement(r.ConfirmationDialog.Content,null,o.createElement(r.ConfirmationDialog.ContentText,null,(0,a.__)("Detaching this instance will break its link to the Component. Changes to the Component will no longer apply. Continue?","elementor"))),o.createElement(r.ConfirmationDialog.Actions,{onClose:t,onConfirm:n,confirmLabel:(0,a.__)("Detach","elementor"),color:"primary"}))}function openDetachConfirmDialog(e){(0,r.openDialog)({component:o.createElement(DetachInstanceConfirmationDialog,{open:!0,onClose:r.closeDialog,onConfirm:()=>{(0,r.closeDialog)(),e()}})})}},"./packages/packages/core/editor-components/src/components/errors.ts":function(e,t,n){n.r(t),n.d(t,{OverrideControlInnerElementNotFoundError:function(){return r}});var o=n("@elementor/utils");const r=(0,o.createError)({code:"override_control_inner_element_not_found",message:"Component inner element not found for override control. The element may have been deleted without updating the overridable props, or the component has not finished rendering yet."})},"./packages/packages/core/editor-components/src/components/in-edit-mode.tsx":function(e,t,n){n.r(t),n.d(t,{openEditModeDialog:function(){return openEditModeDialog}});var o=n("react"),r=n("@elementor/editor-ui"),s=n("@elementor/icons"),a=n("@elementor/ui"),c=n("@wordpress/i18n");const openEditModeDialog=e=>{(0,r.openDialog)({component:o.createElement(EditModeDialog,{lockedBy:e})})},EditModeDialog=({lockedBy:e})=>{const t=(0,c.__)("%s is currently editing this document","elementor").replace("%s",e);return o.createElement(o.Fragment,null,o.createElement(a.DialogHeader,{logo:!1},o.createElement(a.Box,{display:"flex",alignItems:"center",gap:1},o.createElement(a.Icon,{color:"secondary"},o.createElement(s.InfoCircleFilledIcon,{fontSize:"medium"})),o.createElement(a.Typography,{variant:"subtitle1"},t))),o.createElement(a.DialogContent,null,o.createElement(a.Stack,{spacing:2,direction:"column"},o.createElement(a.Typography,{variant:"body2"},(0,c.__)("You can wait for them to finish or reach out to coordinate your changes together.","elementor")),o.createElement(a.DialogActions,null,o.createElement(a.Button,{color:"secondary",variant:"contained",onClick:r.closeDialog},(0,c.__)("Close","elementor"))))))}},"./packages/packages/core/editor-components/src/components/instance-editing-panel/detach-action.tsx":function(e,t,n){n.r(t),n.d(t,{DetachAction:function(){return DetachAction}});var o=n("react"),r=n("@elementor/editor-notifications"),s=n("@elementor/icons"),a=n("@wordpress/i18n"),c=n("./packages/packages/core/editor-components/src/utils/detach-component-instance/index.ts"),i=n("./packages/packages/core/editor-components/src/components/detach-instance-confirmation-dialog.tsx"),p=n("./packages/packages/core/editor-components/src/components/instance-editing-panel/instance-panel-header.tsx");const DetachAction=({componentInstanceId:e,componentId:t})=>{const[n,l]=(0,o.useState)(!1),d=(0,a.__)("Detach from Component","elementor");return o.createElement(o.Fragment,null,o.createElement(p.EditComponentAction,{label:d,icon:s.DetachIcon,onClick:()=>{l(!0)}}),o.createElement(i.DetachInstanceConfirmationDialog,{open:n,onClose:()=>{l(!1)},onConfirm:async()=>{l(!1);try{await(0,c.detachComponentInstance)({instanceId:e,componentId:t,trackingInfo:getDetachTrackingInfo()})}catch{(0,r.notify)({type:"error",message:(0,a.__)("Failed to detach component instance.","elementor"),id:"detach-component-instance-failed"})}}}))};function getDetachTrackingInfo(){const e=window,t=e?.elementorCommon?.eventsManager?.config;return t?{location:t.locations.components.instanceEditingPanel,trigger:t.triggers.click}:{location:"",trigger:""}}},"./packages/packages/core/editor-components/src/components/instance-editing-panel/empty-state.tsx":function(e,t,n){n.r(t),n.d(t,{EmptyState:function(){return EmptyState}});var o=n("react"),r=n("@elementor/icons"),s=n("@elementor/ui"),a=n("@wordpress/i18n"),c=n("./packages/packages/core/editor-components/src/hooks/use-components-permissions.ts");const EmptyState=({onEditComponent:e})=>{const{canEdit:t}=(0,c.useComponentsPermissions)(),n=t?(0,a.__)("Edit the component to add properties, manage them or update the design across all instances.","elementor"):(0,a.__)("With your current role, you cannot edit this component. Contact an administrator to add properties.","elementor");return o.createElement(s.Stack,{alignItems:"center",justifyContent:"start",height:"100%",color:"text.secondary",sx:{p:2.5,pt:8,pb:5.5,mt:1},gap:1.5},o.createElement(r.ComponentPropListIcon,{fontSize:"large"}),o.createElement(s.Typography,{align:"center",variant:"subtitle2"},(0,a.__)("No properties yet","elementor")),o.createElement(s.Typography,{align:"center",variant:"caption",maxWidth:"170px"},n),t&&o.createElement(s.Button,{variant:"outlined",color:"secondary",size:"small",sx:{mt:1},disabled:!e,onClick:e},o.createElement(r.PencilIcon,{fontSize:"small"}),(0,a.__)("Edit component","elementor")))}},"./packages/packages/core/editor-components/src/components/instance-editing-panel/instance-editing-panel.tsx":function(e,t,n){n.r(t),n.d(t,{InstanceEditingPanel:function(){return InstanceEditingPanel}});var o=n("react"),r=n("@elementor/icons"),s=n("@elementor/ui"),a=n("@wordpress/i18n"),c=n("./packages/packages/core/editor-components/src/hooks/use-components-permissions.ts"),i=n("./packages/packages/core/editor-components/src/provider/component-instance-context.tsx"),p=n("./packages/packages/core/editor-components/src/utils/is-pro-components-supported.ts"),l=n("./packages/packages/core/editor-components/src/components/components-update-alert.tsx"),d=n("./packages/packages/core/editor-components/src/components/components-upgrade-alert.tsx"),m=n("./packages/packages/core/editor-components/src/components/instance-editing-panel/detach-action.tsx"),u=n("./packages/packages/core/editor-components/src/components/instance-editing-panel/empty-state.tsx"),g=n("./packages/packages/core/editor-components/src/components/instance-editing-panel/instance-panel-body.tsx"),f=n("./packages/packages/core/editor-components/src/components/instance-editing-panel/instance-panel-header.tsx"),v=n("./packages/packages/core/editor-components/src/components/instance-editing-panel/use-instance-panel-data.ts");const k="https://go.elementor.com/go-pro-components-Instance-edit-footer/";function InstanceEditingPanel(){const{canEdit:e}=(0,c.useComponentsPermissions)(),t=(0,v.useInstancePanelData)();if(!t)return null;const{componentId:n,component:y,overrides:_,overridableProps:C,groups:h,isEmpty:b,componentInstanceId:E}=t,I=(0,a.__)("Edit %s","elementor").replace("%s",y.name),P=o.createElement(s.Stack,{direction:"row",gap:.5},o.createElement(m.DetachAction,{componentInstanceId:E,componentId:n}),e&&o.createElement(f.EditComponentAction,{disabled:!0,label:I,icon:r.PencilIcon}));return o.createElement(s.Box,{"data-testid":"instance-editing-panel",sx:{display:"flex",flexDirection:"column",height:"100%"}},o.createElement(i.ComponentInstanceProvider,{componentId:n,overrides:_,overridableProps:C},o.createElement(f.InstancePanelHeader,{componentName:y.name,actions:P}),o.createElement(g.InstancePanelBody,{groups:h,isEmpty:b,emptyState:o.createElement(u.EmptyState,null),componentInstanceId:E})),!(0,p.isProComponentsSupported)()&&((0,p.isProOutdatedForComponents)()?o.createElement(l.ComponentsUpdateAlert,{title:(0,a.__)("Edit Component","elementor"),description:(0,a.__)("To edit components, update Elementor Pro to the latest version.","elementor")}):o.createElement(d.ComponentsUpgradeAlert,{title:(0,a.__)("Edit components","elementor"),description:(0,a.__)("Editing components requires an active Pro subscription.","elementor"),upgradeUrl:k})))}},"./packages/packages/core/editor-components/src/components/instance-editing-panel/instance-panel-body.tsx":function(e,t,n){n.r(t),n.d(t,{InstancePanelBody:function(){return InstancePanelBody}});var o=n("react"),r=n("@elementor/editor-controls"),s=n("@elementor/editor-editing-panel"),a=n("@elementor/editor-panels"),c=n("@elementor/ui"),i=n("./packages/packages/core/editor-components/src/components/instance-editing-panel/override-props-group.tsx");function InstancePanelBody({groups:e,isEmpty:t,emptyState:n,componentInstanceId:p}){return o.createElement(a.PanelBody,null,o.createElement(r.ControlAdornmentsProvider,{items:(0,s.getFieldIndicators)("settings")},t?n:o.createElement(c.Stack,{direction:"column",alignItems:"stretch"},e.map(e=>o.createElement(o.Fragment,{key:e.id+p},o.createElement(i.OverridePropsGroup,{group:e}),o.createElement(c.Divider,null))))))}},"./packages/packages/core/editor-components/src/components/instance-editing-panel/instance-panel-header.tsx":function(e,t,n){n.r(t),n.d(t,{EditComponentAction:function(){return EditComponentAction},InstancePanelHeader:function(){return InstancePanelHeader}});var o=n("react"),r=n("@elementor/editor-panels"),s=n("@elementor/editor-ui"),a=n("@elementor/icons"),c=n("@elementor/ui");function InstancePanelHeader({componentName:e,actions:t}){return o.createElement(r.PanelHeader,{sx:{justifyContent:"start",px:2}},o.createElement(c.Stack,{direction:"row",alignItems:"center",flexGrow:1,gap:1,maxWidth:"100%"},o.createElement(a.ComponentsIcon,{fontSize:"small",sx:{color:"text.tertiary"}}),o.createElement(s.EllipsisWithTooltip,{title:e,as:r.PanelHeaderTitle,sx:{flexGrow:1}}),t))}function EditComponentAction({label:e,onClick:t,disabled:n=!1,icon:r}){return o.createElement(c.Tooltip,{title:e},o.createElement(c.IconButton,{size:"tiny",onClick:t,"aria-label":e,disabled:n},o.createElement(r,{fontSize:"tiny"})))}},"./packages/packages/core/editor-components/src/components/instance-editing-panel/override-prop-control.tsx":function(e,t,n){n.r(t),n.d(t,{OverridePropControl:function(){return OverridePropControl}});var o=n("react"),r=n("@elementor/editor-controls"),s=n("@elementor/editor-editing-panel"),a=n("@elementor/editor-elements"),c=n("@elementor/ui"),i=n("./packages/packages/core/editor-components/src/hooks/use-controls-by-widget-type.ts"),p=n("./packages/packages/core/editor-components/src/prop-types/component-instance-override-prop-type.ts"),l=n("./packages/packages/core/editor-components/src/prop-types/component-instance-overrides-prop-type.ts"),d=n("./packages/packages/core/editor-components/src/prop-types/component-instance-prop-type.ts"),m=n("./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts"),u=n("./packages/packages/core/editor-components/src/provider/component-instance-context.tsx"),g=n("./packages/packages/core/editor-components/src/provider/overridable-prop-context.tsx"),f=n("./packages/packages/core/editor-components/src/store/actions/update-overridable-prop.ts"),v=n("./packages/packages/core/editor-components/src/store/store.ts"),k=n("./packages/packages/core/editor-components/src/utils/get-container-by-origin-id.ts"),y=n("./packages/packages/core/editor-components/src/utils/get-prop-type-for-component-override.ts"),_=n("./packages/packages/core/editor-components/src/utils/overridable-props-utils.ts"),C=n("./packages/packages/core/editor-components/src/utils/resolve-override-prop-value.ts"),h=n("./packages/packages/core/editor-components/src/components/control-label.tsx"),b=n("./packages/packages/core/editor-components/src/components/errors.ts"),E=n("./packages/packages/core/editor-components/src/components/instance-editing-panel/use-resolved-origin-value.tsx");function OverridePropControl({overrideKey:e}){const t=(0,u.useComponentOverridableProps)(),n=t?.props[e];return n?o.createElement(s.SettingsField,{bind:"component_instance",propDisplayName:n.label},o.createElement(OverrideControl,{overridableProp:n})):null}function OverrideControl({overridableProp:e}){const t=(0,s.useElement)(),{value:n,setValue:I}=(0,r.useBoundProp)(d.componentInstancePropTypeUtil),P=(0,v.useCurrentComponentId)(),x=(0,u.useComponentId)(),w=(0,u.useComponentOverridableProps)(),S=(0,u.useComponentInstanceOverrides)(),O=(0,i.useControlsByWidgetType)(e?.originPropFields?.widgetType??e.widgetType),T=(0,r.getControlReplacements)(),D=(0,_.getMatchingOverride)(S,e.overrideKey),U=(0,E.useResolvedOriginValue)(D,e);if(!x)throw new Error("Component ID is required");if(!w)throw new Error("Component has no overridable props");const A=(0,y.getPropTypeForComponentOverride)(e);if(!A)return null;const V=(D?(0,C.resolveOverridePropValue)(D):null)??U??e.originValue,N={[e.overrideKey]:V},{control:L,controlProps:F,layout:B}=function getControlParams(e,t,n){const o=e[t.propKey],{value:r}=o,a=function getControlLayout(e){return e.value.meta?.layout||s.controlsRegistry.getLayout(e.value.type)}(o),c=function populateChildControlProps(e){if(e.childControlType){const t=s.controlsRegistry.get(e.childControlType),n=s.controlsRegistry.getPropTypeUtil(e.childControlType);e={...e,childControlConfig:{component:t,props:e.childControlProps||{},propTypeUtil:n}}}return e}(r.props);"custom"===a&&(c.label=n??r.label);return{control:o,controlProps:c,layout:a}}(O,e?.originPropFields??e,e.label),{elementId:M,widgetType:z,elType:R,propKey:q}=e.originPropFields??e,j=(0,k.getContainerByOriginId)(M,t.element.id);if(!j)throw new b.OverrideControlInnerElementNotFoundError({context:{componentId:x,elementId:M}});const $=j.id,K="widget"===R?z:R,W=(0,a.getElementType)(K);if(!W)return null;const G=(0,a.getElementSettings)($,Object.keys(W.propsSchema)),H=(0,s.createTopLevelObjectType)({schema:{[e.overrideKey]:A}});return o.createElement(g.OverridablePropProvider,{value:m.componentOverridablePropTypeUtil.extract(D)??void 0,componentInstanceElement:t},o.createElement(s.ElementProvider,{element:{id:$,type:K},elementType:W,settings:G},o.createElement(s.SettingsField,{bind:q,propDisplayName:e.label},o.createElement(r.PropProvider,{propType:H,value:N,setValue:t=>{if(!w)return void I({...n,overrides:void 0});const o=function getTempNewValueForDynamicProp(e,t,n){const o=null===n;if(o&&(0,s.isDynamicPropValue)(t))return e.default??null;return n}(A,V,t[e.overrideKey]),r=function createOverrideValue({matchingOverride:e,overrideKey:t,overrideValue:n,componentId:o}){const r=m.componentOverridablePropTypeUtil.extract(e),s=m.componentOverridablePropTypeUtil.extract(n)??r;if(s){const e=p.componentInstanceOverridePropTypeUtil.create({override_key:t,override_value:(0,C.resolveOverridePropValue)(n),schema_source:{type:"component",id:o}});return m.componentOverridablePropTypeUtil.create({override_key:s.override_key,origin_value:e})}return p.componentInstanceOverridePropTypeUtil.create({override_key:t,override_value:n,schema_source:{type:"component",id:o}})}({matchingOverride:D,overrideKey:e.overrideKey,overrideValue:o,componentId:x});let a=(S??[]).filter(e=>function isValidOverride(e,t){const n=m.componentOverridablePropTypeUtil.isValid(t)?t.value.origin_value?.value.override_key:t.value.override_key;return!!e.props[n]}(w,e)).map(e=>e===D?r:e);D||(a=[...a,r]),I({...n,overrides:l.componentInstanceOverridesPropTypeUtil.create(a)});const c=m.componentOverridablePropTypeUtil.extract(r);if(c&&P){if(e.originPropFields)return void(0,f.updateOverridableProp)(P,c,e.originPropFields);const{elType:t,widgetType:n,propKey:o,elementId:r}=e;(0,f.updateOverridableProp)(P,c,{elType:t,widgetType:n,propKey:o,elementId:r})}},isDisabled:()=>!1},o.createElement(r.PropKeyProvider,{bind:e.overrideKey},o.createElement(r.ControlReplacementsProvider,{replacements:T},o.createElement(c.Box,{mb:1.5},o.createElement(s.ControlTypeContainer,{layout:B},"custom"!==B&&o.createElement(h.ControlLabel,null,e.label),o.createElement(OriginalControl,{control:L,controlProps:F})))))))))}function OriginalControl({control:e,controlProps:t}){const{value:n}=e;return o.createElement(s.BaseControl,{type:n.type,props:t})}},"./packages/packages/core/editor-components/src/components/instance-editing-panel/override-props-group.tsx":function(e,t,n){n.r(t),n.d(t,{OverridePropsGroup:function(){return OverridePropsGroup}});var o=n("react"),r=n("@elementor/editor-editing-panel"),s=n("@elementor/editor-ui"),a=n("@elementor/ui"),c=n("./packages/packages/core/editor-components/src/components/instance-editing-panel/override-prop-control.tsx");function OverridePropsGroup({group:e}){const[t,n]=(0,r.useStateByElement)(e.id,!0),i=(0,o.useId)(),p=`label-${i}`,l=`content-${i}`,d=e.label;return o.createElement(a.Box,{"aria-label":`${d} section`},o.createElement(a.ListItemButton,{id:p,"aria-controls":l,"aria-label":`${d} section`,onClick:()=>{n(!t)},p:0,sx:{"&:hover":{backgroundColor:"transparent"}}},o.createElement(a.Stack,{direction:"row",alignItems:"center",justifyItems:"start",flexGrow:1,gap:.5},o.createElement(a.ListItemText,{secondary:d,secondaryTypographyProps:{color:"text.primary",variant:"caption",fontWeight:"bold"},sx:{flexGrow:0,flexShrink:1,marginInlineEnd:1}})),o.createElement(s.CollapseIcon,{open:t,color:"secondary",fontSize:"tiny"})),o.createElement(a.Collapse,{id:l,"aria-labelledby":p,in:t,timeout:"auto"},o.createElement(a.Stack,{direction:"column",gap:1,p:2},e.props.map(e=>o.createElement(c.OverridePropControl,{key:e,overrideKey:e})))))}},"./packages/packages/core/editor-components/src/components/instance-editing-panel/use-instance-panel-data.ts":function(e,t,n){n.r(t),n.d(t,{useInstancePanelData:function(){return useInstancePanelData}});var o=n("@elementor/editor-editing-panel"),r=n("./packages/packages/core/editor-components/src/hooks/use-sanitize-overridable-props.ts"),s=n("./packages/packages/core/editor-components/src/prop-types/component-instance-prop-type.ts"),a=n("./packages/packages/core/editor-components/src/store/store.ts");function useInstancePanelData(){const{element:e,settings:t}=function useComponentInstanceSettings(){const{element:e,settings:t}=(0,o.useElement)();return{element:e,settings:s.componentInstancePropTypeUtil.extract(t.component_instance)}}(),n=t?.component_id?.value,c=t?.overrides?.value,i=(0,a.useComponent)(n??null),p=e?.id,l=(0,r.useSanitizeOverridableProps)(n??null,p);if(!(n&&l&&i&&p))return null;const d=l.groups.order.map(e=>l.groups.items[e]??null).filter(e=>null!==e&&e.props.length>0),m=0===d.length||0===Object.keys(l.props).length;return{componentId:n,component:i,overrides:c,overridableProps:l,groups:d,isEmpty:m,componentInstanceId:p}}},"./packages/packages/core/editor-components/src/components/instance-editing-panel/use-resolved-origin-value.tsx":function(e,t,n){n.r(t),n.d(t,{useResolvedOriginValue:function(){return useResolvedOriginValue}});var o=n("@elementor/store"),r=n("./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts"),s=n("./packages/packages/core/editor-components/src/store/store.ts"),a=n("./packages/packages/core/editor-components/src/utils/get-overridable-prop.ts"),c=n("./packages/packages/core/editor-components/src/utils/overridable-props-utils.ts");function useResolvedOriginValue(e,t){return function resolveOriginValue(e,t,n){const{originValue:o,originPropFields:r}=n;if(hasValue(o))return o;if(t){const n=getOriginFromOverride(e,t);if(hasValue(n))return n}const{elementId:s,propKey:a}=r??{};if(s&&a)return findOriginValueByElementId(e,s,a);return null}((0,o.__useSelector)(s.selectData),e,t)}function getOriginFromOverride(e,t){const n=(0,c.extractInnerOverrideInfo)(t);if(!n)return null;const{componentId:o,innerOverrideKey:s,overrideValue:i}=n,p=(0,a.getOverridableProp)({componentId:o,overrideKey:s});if(hasValue(p?.originValue))return p.originValue;if(p?.originPropFields?.elementId){const t=p.originPropFields.propKey??p.propKey,n=findOriginValueByElementId(e,p.originPropFields.elementId,t);if(hasValue(n))return n}const l=r.componentOverridablePropTypeUtil.extract(i);return l?getOriginFromOverride(e,r.componentOverridablePropTypeUtil.create(l)):null}function findOriginValueByElementId(e,t,n,o=new Set){for(const r of e){if(o.has(r.id))continue;o.add(r.id);const s=Object.values(r.overridableProps?.props??{}).find(({elementId:e,propKey:o})=>e===t&&o===n);if(s){if(hasValue(s.originValue))return s.originValue;if(s.originPropFields?.elementId){const t=s.originPropFields.propKey??n;return findOriginValueByElementId(e,s.originPropFields.elementId,t,o)}}}return null}function hasValue(e){return null!=e}},"./packages/packages/core/editor-components/src/components/load-template-components.tsx":function(e,t,n){n.r(t),n.d(t,{LoadTemplateComponents:function(){return LoadTemplateComponents}});var o=n("react"),r=n("@elementor/editor-templates"),s=n("./packages/packages/core/editor-components/src/store/actions/load-components-assets.ts");const LoadTemplateComponents=()=>{const e=(0,r.useLoadedTemplates)();return(0,o.useEffect)(()=>{(0,s.loadComponentsAssets)(e.flatMap(e=>e??[]))},[e]),null}},"./packages/packages/core/editor-components/src/consts.ts":function(e,t,n){n.r(t),n.d(t,{COMPONENT_WIDGET_TYPE:function(){return o}});const o="e-component"},"./packages/packages/core/editor-components/src/create-component-type.ts":function(e,t,n){n.r(t),n.d(t,{COMPONENT_WIDGET_TYPE:function(){return v},createComponentType:function(){return createComponentType}});var o=n("@elementor/editor-canvas"),r=n("@elementor/editor-documents"),s=n("@elementor/editor-notifications"),a=n("@elementor/store"),c=n("@elementor/utils"),i=n("@wordpress/i18n"),p=n("./packages/packages/core/editor-components/src/api.ts"),l=n("./packages/packages/core/editor-components/src/store/store.ts"),d=n("./packages/packages/core/editor-components/src/utils/detach-component-instance/index.ts"),m=n("./packages/packages/core/editor-components/src/utils/format-component-elements-id.ts"),u=n("./packages/packages/core/editor-components/src/utils/is-pro-components-supported.ts"),g=n("./packages/packages/core/editor-components/src/utils/switch-to-component.ts"),f=n("./packages/packages/core/editor-components/src/utils/tracking.ts");const v="e-component",k="https://go.elementor.com/go-pro-components-Instance-edit-canvas-double-click/",y="https://go.elementor.com/go-pro-components-Instance-edit-context-menu/",_="/wp-admin/plugins.php",C="component-edit-upgrade",h="component-edit-update",b=2e3;function notifyComponentEditUpdate(){(0,s.notify)({type:"info",id:h,message:(0,i.__)("To edit components, update Elementor Pro to the latest version.","elementor"),additionalActionProps:[{size:"small",variant:"contained",color:"info",href:_,target:"_blank",children:(0,i.__)("Update Now","elementor")}]})}const updateGroups=(e,t)=>{const n=new Map(Object.entries(t.disable??{})),o=new Map(Object.entries(t.add??{}));return e.map(e=>{const t=n.get(e.name)??[],r=o.get(e.name),s=e.actions.map(e=>t.includes(e.name)?{...e,isEnabled:()=>!1}:e);return r&&s.splice(r.index,0,...r.actions),{...e,actions:s}})};function createComponentType(e){const t=window.elementor.modules.elements.types.Widget,n=function createComponentView(e){const t=window;return class extends((0,o.createTemplatedElementView)(e)){eventsManagerConfig=t.elementorCommon.eventsManager.config;#e;isComponentCurrentlyEdited(){const e=(0,r.getCurrentDocument)();return e?.id===this.getComponentId()}getRenderContext(){const e=this.getNamespaceKey(),t=this._parent?.getRenderContext?.(),n=t?.[e];if(!this.#e)return t;const o=this.#e.overrides??{},r=n?.overrides??{};return{...t,[e]:{overrides:{...r,...o}}}}getResolverRenderContext(){const e=this.getNamespaceKey(),t=this.getRenderContext();return t?.[e]}afterSettingsResolve(e){const n=e.component_instance;if(n){this.#e={overrides:n.overrides??{}};const o=this.model.get("id"),r=n.elements??[],s=(0,m.formatComponentElementsId)(r,[o]);this.collection=t.elementor.createBackboneElementsCollection(s),this.collection.models.forEach(setInactiveRecursively),e.component_instance="<template data-children-placeholder></template>"}return e}getDomElement(){return this.children.findByIndex(0)?.getDomElement()??this.$el}attachBuffer(e,t){const n=e.$el.find("[data-children-placeholder]").get(0);n?n.replaceWith(t):super.attachBuffer(e,t)}getComponentId(){const e=this.options?.model?.get("settings")?.get("component_instance")?.value;return e.component_id.value}getContextMenuGroups(){const e=super.getContextMenuGroups().filter(e=>"save"!==e.name);if(!this.getComponentId())return e;return updateGroups(e,this._getContextMenuConfig())}_getContextMenuConfig(){const e=isUserAdministrator(),t=(0,c.hasProInstalled)(),n=(0,u.isProOutdatedForComponents)(),o={name:"edit component",icon:"eicon-edit",title:()=>(0,i.__)("Edit Component","elementor"),...!t&&!n&&{shortcut:`<a href="${y}" target="_blank" onclick="event.stopPropagation()" class="${"elementor-context-menu-list__item__shortcut__promotion-badge"}"><i class="eicon-upgrade-crown"></i></a>`,hasShortcutAction:!0},isEnabled:()=>(0,u.isProComponentsSupported)()||n,callback:(e,t)=>this.editComponent(t)},r={name:"detach instance",icon:"eicon-chain-broken",title:()=>(0,i.__)("Detach from Component","elementor"),isEnabled:()=>!0,callback:(e,t)=>this.detachInstance(t)};return{add:{general:{index:1,actions:e?[o,r]:[r]}},disable:{clipboard:["pasteStyle","resetStyle"]}}}async switchDocument(){const{isAllowedToSwitchDocument:t,lockedBy:n}=await p.apiClient.getComponentLockStatus(this.getComponentId());t?(0,g.switchToComponent)(this.getComponentId(),this.model.get("id"),this.el):e.showLockedByModal?.(n||"")}editComponent({trigger:e,location:t,secondaryLocation:n}){if((0,u.isProOutdatedForComponents)())return void notifyComponentEditUpdate();if(!(0,u.isProComponentsSupported)()||this.isComponentCurrentlyEdited())return;this.switchDocument();const o=this.model.get("editor_settings");(0,f.trackComponentEvent)({action:"edited",source:"user",component_uid:o?.component_uid,component_name:o?.title,location:t,secondary_location:n,trigger:e})}detachInstance({trigger:t,location:n,secondaryLocation:o}){const r=this.getComponentId(),a=this.model.get("id");if(!r||!a)return;const handleConfirm=async()=>{try{await(0,d.detachComponentInstance)({instanceId:a,componentId:r,trackingInfo:{location:n,secondaryLocation:o,trigger:t}})}catch{(0,s.notify)({type:"error",message:(0,i.__)("Failed to detach component instance.","elementor"),id:"detach-component-instance-failed"})}};e.showDetachConfirmDialog?.(handleConfirm)}handleDblClick(e){if(e.stopPropagation(),!isUserAdministrator())return;if((0,u.isProOutdatedForComponents)())return void notifyComponentEditUpdate();if(!(0,c.hasProInstalled)())return void function notifyComponentEditUpgrade(){(0,s.notify)({type:"promotion",id:C,message:(0,i.__)("Editing components requires an active Pro subscription.","elementor"),autoHideDuration:b,additionalActionProps:[{size:"small",variant:"contained",color:"promotion",href:k,target:"_blank",children:(0,i.__)("Upgrade Now","elementor")}]})}();const{triggers:t,locations:n,secondaryLocations:o}=this.eventsManagerConfig;this.editComponent({trigger:t.doubleClick,location:n.canvas,secondaryLocation:o.canvasElement})}events(){return{...super.events(),dblclick:this.handleDblClick}}attributes(){return{...super.attributes(),"data-elementor-id":this.getComponentId()}}}}({...e});return class extends t{getType(){return e.type}getView(){return n}getModel(){return function createComponentModel(){const e=window,t=e.elementor.modules.elements.types.Widget,n=new t,o=n.getModel();return o.extend({initialize(e,t){o.prototype.initialize.call(this,e,t);const n=this.get("settings")?.get("component_instance");if(n?.value){const e=n.value.component_id?.value;e&&"number"==typeof e&&this.set("componentId",e)}this.set("isGlobal",!0)},getTitle(){const e=this.get("editor_settings"),t=e?.title;if(t)return t;const n=e?.component_uid;if(n){const e=(0,l.selectComponentByUid)((0,a.__getState)(),n);if(e?.name)return e.name}return window.elementor.getElementData(this).title},getComponentId(){return this.get("componentId")||null},getComponentName(){return this.getTitle()},getComponentUid(){const e=this.get("editor_settings");return e?.component_uid||null}})}()}}}function setInactiveRecursively(e){const t=e.get("editSettings");t&&t.set("inactive",!0);const n=e.get("elements");n&&n.forEach(e=>{setInactiveRecursively(e)})}function isUserAdministrator(){const e=window;return e.elementor.config?.user?.is_administrator??!1}},"./packages/packages/core/editor-components/src/hooks/use-components-permissions.ts":function(e,t,n){n.r(t),n.d(t,{useComponentsPermissions:function(){return useComponentsPermissions}});var o=n("@elementor/editor-current-user");const useComponentsPermissions=()=>{const{isAdmin:e}=(0,o.useCurrentUserCapabilities)();return{canCreate:e,canEdit:e,canDelete:e,canRename:e}}},"./packages/packages/core/editor-components/src/hooks/use-components.ts":function(e,t,n){n.r(t),n.d(t,{useComponents:function(){return useComponents}});var o=n("@elementor/store"),r=n("./packages/packages/core/editor-components/src/store/store.ts");const useComponents=()=>({components:(0,o.__useSelector)(r.selectComponents),isLoading:(0,o.__useSelector)(r.selectLoadIsPending)})},"./packages/packages/core/editor-components/src/hooks/use-controls-by-widget-type.ts":function(e,t,n){n.r(t),n.d(t,{useControlsByWidgetType:function(){return useControlsByWidgetType}});var o=n("@elementor/editor-elements");function useControlsByWidgetType(e){const t=(0,o.getElementType)(e);if(!t)return{};return function getControlsByBind(e){return e.reduce((e,t)=>({...e,[t.value.bind]:t}),{})}(iterateControls(t.controls))}function iterateControls(e){return e.map(e=>"control"===e.type&&"bind"in e.value?e:"section"===e.type?iterateControls(e.value.items):null).filter(Boolean).flat()}},"./packages/packages/core/editor-components/src/hooks/use-sanitize-overridable-props.ts":function(e,t,n){n.r(t),n.d(t,{useSanitizeOverridableProps:function(){return useSanitizeOverridableProps}});var o=n("./packages/packages/core/editor-components/src/store/store.ts"),r=n("./packages/packages/core/editor-components/src/utils/filter-valid-overridable-props.ts");function useSanitizeOverridableProps(e,t){const n=(0,o.useOverridableProps)(e),s=(0,o.useIsSanitizedComponent)(e,"overridableProps");if(n&&e)return s?n:(0,r.filterValidOverridableProps)(n,t)}},"./packages/packages/core/editor-components/src/init.ts":function(e,t,n){n.r(t),n.d(t,{init:function(){return init}});var o=n("@elementor/editor"),r=n("@elementor/editor-canvas"),s=n("@elementor/editor-documents"),a=n("@elementor/editor-editing-panel"),c=n("@elementor/editor-elements-panel"),i=n("@elementor/editor-styles-repository"),p=n("@elementor/editor-v1-adapters"),l=n("@elementor/store"),d=n("@wordpress/i18n"),m=n("./packages/packages/core/editor-components/src/component-instance-transformer.ts"),u=n("./packages/packages/core/editor-components/src/component-overridable-transformer.ts"),g=n("./packages/packages/core/editor-components/src/component-override-transformer.ts"),f=n("./packages/packages/core/editor-components/src/components/components-tab/components.tsx"),v=n("./packages/packages/core/editor-components/src/components/detach-instance-confirmation-dialog.tsx"),k=n("./packages/packages/core/editor-components/src/components/in-edit-mode.tsx"),y=n("./packages/packages/core/editor-components/src/components/instance-editing-panel/instance-editing-panel.tsx"),_=n("./packages/packages/core/editor-components/src/components/load-template-components.tsx"),C=n("./packages/packages/core/editor-components/src/create-component-type.ts"),h=n("./packages/packages/core/editor-components/src/populate-store.ts"),b=n("./packages/packages/core/editor-components/src/prevent-circular-nesting.ts"),E=n("./packages/packages/core/editor-components/src/store/actions/load-components-assets.ts"),I=n("./packages/packages/core/editor-components/src/store/actions/remove-component-styles.ts"),P=n("./packages/packages/core/editor-components/src/store/components-styles-provider.ts"),x=n("./packages/packages/core/editor-components/src/store/store.ts"),w=n("./packages/packages/core/editor-components/src/sync/before-save.ts"),S=n("./packages/packages/core/editor-components/src/sync/load-component-data-after-instance-added.ts");function init(){i.stylesRepository.register(P.componentsStylesProvider),(0,l.__registerSlice)(x.slice),(0,r.registerElementType)(C.COMPONENT_WIDGET_TYPE,e=>(0,C.createComponentType)({...e,showLockedByModal:k.openEditModeDialog,showDetachConfirmDialog:v.openDetachConfirmDialog})),window.elementorCommon.__beforeSave=w.beforeSave,(0,c.injectTab)({id:"components",label:(0,d.__)("Components","elementor"),component:f.Components,position:1}),(0,o.injectIntoLogic)({id:"components-populate-store",component:h.PopulateStore}),(0,p.registerDataHook)("after","editor/documents/attach-preview",async()=>{const{id:e,config:t}=(0,s.getV1CurrentDocument)();e&&(0,I.removeComponentStyles)(e),await(0,E.loadComponentsAssets)(t?.elements??[])}),(0,o.injectIntoLogic)({id:"templates",component:_.LoadTemplateComponents}),(0,a.registerEditingPanelReplacement)({id:"component-instance-edit-panel",condition:(e,t)=>"e-component"===t.key,component:y.InstanceEditingPanel}),r.settingsTransformersRegistry.register("component-instance",m.componentInstanceTransformer),r.settingsTransformersRegistry.register("overridable",u.componentOverridableTransformer),r.settingsTransformersRegistry.register("override",g.componentOverrideTransformer),(0,b.initCircularNestingPrevention)(),(0,S.initLoadComponentDataAfterInstanceAdded)()}},"./packages/packages/core/editor-components/src/populate-store.ts":function(e,t,n){n.r(t),n.d(t,{PopulateStore:function(){return PopulateStore}});var o=n("react"),r=n("@elementor/store"),s=n("./packages/packages/core/editor-components/src/store/thunks.ts");function PopulateStore(){return(0,o.useEffect)(()=>{(0,r.__dispatch)((0,s.loadComponents)())},[]),null}},"./packages/packages/core/editor-components/src/prevent-circular-nesting.ts":function(e,t,n){n.r(t),n.d(t,{extractComponentIdsFromElements:function(){return extractComponentIdsFromElements},initCircularNestingPrevention:function(){return initCircularNestingPrevention},wouldCreateCircularNesting:function(){return wouldCreateCircularNesting}});var o=n("@elementor/editor-elements"),r=n("@elementor/editor-notifications"),s=n("@elementor/editor-v1-adapters"),a=n("@elementor/store"),c=n("@wordpress/i18n"),i=n("./packages/packages/core/editor-components/src/store/store.ts");const p="e-component",l={type:"default",message:(0,c.__)("Can't add this component - components that contain each other can't be nested.","elementor"),id:"circular-component-nesting-blocked"};function initCircularNestingPrevention(){(0,s.blockCommand)({command:"document/elements/create",condition:blockCircularCreate}),(0,s.blockCommand)({command:"document/elements/move",condition:blockCircularMove}),(0,s.blockCommand)({command:"document/elements/paste",condition:blockCircularPaste})}function wouldCreateCircularNesting(e){if(void 0===e)return!1;const t=(0,a.__getState)(),n=(0,i.selectCurrentComponentId)(t),o=(0,i.selectPath)(t);return null!==n&&(e===n||o.some(t=>t.componentId===e))}function extractComponentIdFromElement(e){return e.widgetType!==p?null:e.settings?.component_instance?.value?.component_id?.value??null}function extractComponentIdsFromElements(e){const t=[];for(const n of e){const e=extractComponentIdFromElement(n);null!==e&&t.push(e),n.elements?.length&&t.push(...extractComponentIdsFromElements(n.elements))}return t}function blockCircularCreate(e){const t=function extractComponentIdFromModel(e){return e&&e.widgetType===p?e.settings?.component_instance?.value?.component_id?.value??null:null}(e.model);if(null===t)return!1;const n=wouldCreateCircularNesting(t);return n&&(0,r.notify)(l),n}function blockCircularMove(e){const{containers:t=[e.container]}=e,n=t.some(e=>{if(!e)return!1;return(0,o.getAllDescendants)(e).some(e=>{const t=function extractComponentIdFromContainer(e){const t=e.model?.get?.("widgetType");if(t!==p)return null;const n=e.model?.get?.("settings"),o=n?.get?.("component_instance");return o?.value?.component_id?.value??null}(e);return null!==t&&wouldCreateCircularNesting(t)})});return n&&(0,r.notify)(l),n}function blockCircularPaste(e){const{storageType:t}=e;if("localstorage"!==t)return!1;const n=window?.elementorCommon?.storage?.get();if(!n?.clipboard?.elements)return!1;const o=extractComponentIdsFromElements(n.clipboard.elements).some(wouldCreateCircularNesting);return o&&(0,r.notify)(l),o}},"./packages/packages/core/editor-components/src/prop-types/component-instance-override-prop-type.ts":function(e,t,n){n.r(t),n.d(t,{componentInstanceOverridePropTypeUtil:function(){return s}});var o=n("@elementor/editor-props"),r=n("@elementor/schema");const s=(0,o.createPropUtils)("override",r.z.object({override_key:r.z.string(),override_value:r.z.unknown(),schema_source:r.z.object({type:r.z.literal("component"),id:r.z.number()})}))},"./packages/packages/core/editor-components/src/prop-types/component-instance-overrides-prop-type.ts":function(e,t,n){n.r(t),n.d(t,{componentInstanceOverridesPropTypeUtil:function(){return c}});var o=n("@elementor/editor-props"),r=n("@elementor/schema"),s=n("./packages/packages/core/editor-components/src/prop-types/component-instance-override-prop-type.ts"),a=n("./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts");const c=(0,o.createPropUtils)("overrides",r.z.array(r.z.union([s.componentInstanceOverridePropTypeUtil.schema,a.componentOverridablePropTypeUtil.schema])).optional().default([]))},"./packages/packages/core/editor-components/src/prop-types/component-instance-prop-type.ts":function(e,t,n){n.r(t),n.d(t,{componentInstancePropTypeUtil:function(){return a}});var o=n("@elementor/editor-props"),r=n("@elementor/schema"),s=n("./packages/packages/core/editor-components/src/prop-types/component-instance-overrides-prop-type.ts");const a=(0,o.createPropUtils)("component-instance",r.z.object({component_id:o.numberPropTypeUtil.schema,overrides:r.z.optional(s.componentInstanceOverridesPropTypeUtil.schema)}))},"./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts":function(e,t,n){n.r(t),n.d(t,{componentOverridablePropTypeUtil:function(){return s}});var o=n("@elementor/editor-props"),r=n("@elementor/schema");const s=(0,o.createPropUtils)("overridable",r.z.object({override_key:r.z.string(),origin_value:r.z.object({$$type:r.z.string(),value:r.z.unknown()}).nullable()}))},"./packages/packages/core/editor-components/src/provider/component-instance-context.tsx":function(e,t,n){n.r(t),n.d(t,{ComponentInstanceProvider:function(){return ComponentInstanceProvider},useComponentId:function(){return useComponentId},useComponentInstanceOverrides:function(){return useComponentInstanceOverrides},useComponentOverridableProps:function(){return useComponentOverridableProps}});var o=n("react");const r=(0,o.createContext)(null);function ComponentInstanceProvider({children:e,...t}){return o.createElement(r.Provider,{value:t},e)}const useComponentId=()=>(0,o.useContext)(r)?.componentId,useComponentInstanceOverrides=()=>(0,o.useContext)(r)?.overrides,useComponentOverridableProps=()=>(0,o.useContext)(r)?.overridableProps},"./packages/packages/core/editor-components/src/provider/overridable-prop-context.tsx":function(e,t,n){n.r(t),n.d(t,{OverridablePropProvider:function(){return OverridablePropProvider},useComponentInstanceElement:function(){return useComponentInstanceElement},useOverridablePropValue:function(){return useOverridablePropValue}});var o=n("react");const r=(0,o.createContext)(null);function OverridablePropProvider({children:e,...t}){return o.createElement(r.Provider,{value:t},e)}const useOverridablePropValue=()=>(0,o.useContext)(r)?.value,useComponentInstanceElement=()=>(0,o.useContext)(r)?.componentInstanceElement},"./packages/packages/core/editor-components/src/store/actions/load-components-assets.ts":function(e,t,n){n.r(t),n.d(t,{loadComponentsAssets:function(){return loadComponentsAssets}});var o=n("@elementor/editor-documents"),r=n("./packages/packages/core/editor-components/src/utils/get-component-documents.ts"),s=n("./packages/packages/core/editor-components/src/store/actions/load-components-overridable-props.ts"),a=n("./packages/packages/core/editor-components/src/store/actions/load-components-styles.ts");async function loadComponentsAssets(e){const t=await(0,r.getComponentDocuments)(e);!function updateDocumentState(e){const t=[...e.values()].some(o.isDocumentDirty);t&&(0,o.setDocumentModifiedStatus)(!0)}(t),(0,a.loadComponentsStyles)(t),await(0,s.loadComponentsOverridableProps)([...t.keys()])}},"./packages/packages/core/editor-components/src/store/actions/load-components-overridable-props.ts":function(e,t,n){n.r(t),n.d(t,{loadComponentsOverridableProps:function(){return loadComponentsOverridableProps}});var o=n("@elementor/store"),r=n("./packages/packages/core/editor-components/src/api.ts"),s=n("./packages/packages/core/editor-components/src/store/store.ts");function loadComponentsOverridableProps(e){if(e.length)return Promise.all(e.map(loadComponentOverrides))}async function loadComponentOverrides(e){if((0,s.selectIsOverridablePropsLoaded)((0,o.__getState)(),e))return;const t=await r.apiClient.getOverridableProps(e);t&&(0,o.__dispatch)(s.slice.actions.setOverridableProps({componentId:e,overridableProps:t}))}},"./packages/packages/core/editor-components/src/store/actions/load-components-styles.ts":function(e,t,n){n.r(t),n.d(t,{loadComponentsStyles:function(){return loadComponentsStyles}});var o=n("@elementor/store"),r=n("./packages/packages/core/editor-components/src/store/store.ts");function loadComponentsStyles(e){if(!e.size)return;const t=(0,r.selectStyles)((0,o.__getState)()),n=new Map([...e.entries()].filter(([e])=>!t[e]));n.size&&function addStyles(e){const t=Object.fromEntries([...e.entries()].map(([e,t])=>[e,extractStylesFromDocument(t)]));(0,o.__dispatch)(r.slice.actions.addStyles(t))}(n)}function extractStylesFromDocument(e){return e.elements?.length?e.elements.flatMap(extractStylesFromElement):[]}function extractStylesFromElement(e){return[...Object.values(e.styles??{}),...(e.elements??[]).flatMap(extractStylesFromElement)]}},"./packages/packages/core/editor-components/src/store/actions/remove-component-styles.ts":function(e,t,n){n.r(t),n.d(t,{removeComponentStyles:function(){return removeComponentStyles}});var o=n("@elementor/store"),r=n("./packages/packages/core/editor-components/src/api.ts"),s=n("./packages/packages/core/editor-components/src/store/store.ts");function removeComponentStyles(e){r.apiClient.invalidateComponentConfigCache(e),(0,o.__dispatch)(s.slice.actions.removeStyles({id:e}))}},"./packages/packages/core/editor-components/src/store/actions/update-overridable-prop.ts":function(e,t,n){n.r(t),n.d(t,{updateOverridableProp:function(){return updateOverridableProp}});var o=n("./packages/packages/core/editor-components/src/utils/resolve-override-prop-value.ts"),r=n("./packages/packages/core/editor-components/src/store/dispatchers.ts"),s=n("./packages/packages/core/editor-components/src/store/selectors.ts");function updateOverridableProp(e,t,n){const a=s.componentsSelectors.getOverridableProps(e);if(!a)return;const c=a.props[t.override_key];if(!c)return;const i=(0,o.resolveOverridePropValue)(t.origin_value),p=n?{originValue:i,originPropFields:n}:{originValue:i},l={...a,props:{...a.props,[c.overrideKey]:{...c,...p}}};r.componentsActions.setOverridableProps(e,l)}},"./packages/packages/core/editor-components/src/store/components-styles-provider.ts":function(e,t,n){n.r(t),n.d(t,{componentsStylesProvider:function(){return a}});var o=n("@elementor/editor-styles-repository"),r=n("@elementor/store"),s=n("./packages/packages/core/editor-components/src/store/store.ts");const a=(0,o.createStylesProvider)({key:"components-styles",priority:100,subscribe:e=>(0,r.__subscribeWithSelector)(e=>e[s.SLICE_NAME],()=>{e()}),actions:{all:()=>(0,s.selectFlatStyles)((0,r.__getState)()),get:e=>(0,s.selectFlatStyles)((0,r.__getState)()).find(t=>t.id===e)??null}})},"./packages/packages/core/editor-components/src/store/dispatchers.ts":function(e,t,n){n.r(t),n.d(t,{componentsActions:function(){return s}});var o=n("@elementor/store"),r=n("./packages/packages/core/editor-components/src/store/store.ts");function safeDispatch(){return(0,o.__getStore)()?.dispatch}const s={add(e){(0,o.__dispatch)(r.slice.actions.add(e))},load(e){(0,o.__dispatch)(r.slice.actions.load(e))},addUnpublished(e){(0,o.__dispatch)(r.slice.actions.addUnpublished(e))},removeUnpublished(e){(0,o.__dispatch)(r.slice.actions.removeUnpublished(e))},resetUnpublished(){(0,o.__dispatch)(r.slice.actions.resetUnpublished())},removeStyles(e){(0,o.__dispatch)(r.slice.actions.removeStyles({id:e}))},addStyles(e){(0,o.__dispatch)(r.slice.actions.addStyles(e))},addCreatedThisSession(e){(0,o.__dispatch)(r.slice.actions.addCreatedThisSession(e))},removeCreatedThisSession(e){(0,o.__dispatch)(r.slice.actions.removeCreatedThisSession(e))},archive(e){(0,o.__dispatch)(r.slice.actions.archive(e))},setCurrentComponentId(e){safeDispatch()?.(r.slice.actions.setCurrentComponentId(e))},setPath(e){safeDispatch()?.(r.slice.actions.setPath(e))},setOverridableProps(e,t){(0,o.__dispatch)(r.slice.actions.setOverridableProps({componentId:e,overridableProps:t}))},rename(e,t){(0,o.__dispatch)(r.slice.actions.rename({componentUid:e,name:t}))},cleanUpdatedComponentNames(){(0,o.__dispatch)(r.slice.actions.cleanUpdatedComponentNames())},updateComponentSanitizedAttribute(e,t){(0,o.__dispatch)(r.slice.actions.updateComponentSanitizedAttribute({componentId:e,attribute:t}))},resetSanitizedComponents(){(0,o.__dispatch)(r.slice.actions.resetSanitizedComponents())}}},"./packages/packages/core/editor-components/src/store/extensible-slice.ts":function(e,t,n){n.r(t),n.d(t,{__resetExtraReducers:function(){return __resetExtraReducers},createComponentsAction:function(){return createComponentsAction},registerComponentsReducer:function(){return registerComponentsReducer},slice:function(){return i}});var o=n("@elementor/store"),r=n("./packages/packages/core/editor-components/src/store/store-types.ts"),s=n("./packages/packages/core/editor-components/src/store/thunks.ts");const a=new Map;function registerComponentsReducer(e,t){a.set(`${r.SLICE_NAME}/${e}`,t)}function createComponentsAction(e){const t=(0,o.__createAction)(`${r.SLICE_NAME}/${e}`);return{action:t,register(t){registerComponentsReducer(e,t)},dispatch(e){(0,o.__dispatch)(t(e))}}}function __resetExtraReducers(){a.clear()}const c=(0,o.__createSlice)({name:r.SLICE_NAME,initialState:r.initialState,reducers:{add:(e,{payload:t})=>{Array.isArray(t)?e.data=[...t,...e.data]:e.data.unshift(t)},load:(e,{payload:t})=>{e.data=t},addUnpublished:(e,{payload:t})=>{e.unpublishedData.unshift(t)},removeUnpublished:(e,{payload:t})=>{const n=Array.isArray(t)?t:[t];e.unpublishedData=e.unpublishedData.filter(e=>!n.includes(e.uid))},resetUnpublished:e=>{e.unpublishedData=[]},removeStyles(e,{payload:t}){const{[t.id]:n,...o}=e.styles;e.styles=o},addStyles:(e,{payload:t})=>{e.styles={...e.styles,...t}},addCreatedThisSession:(e,{payload:t})=>{e.createdThisSession.push(t)},removeCreatedThisSession:(e,{payload:t})=>{e.createdThisSession=e.createdThisSession.filter(e=>e!==t)},archive:(e,{payload:t})=>{const n=e.data.find(e=>e.id===t);n&&(n.isArchived=!0,e.archivedThisSession.push(t))},setCurrentComponentId:(e,{payload:t})=>{e.currentComponentId=t},setPath:(e,{payload:t})=>{e.path=t},setOverridableProps:(e,{payload:t})=>{const n=e.data.find(e=>e.id===t.componentId);n&&(n.overridableProps=t.overridableProps)},rename:(e,{payload:t})=>{const n=e.data.find(e=>e.uid===t.componentUid);n&&(n.id&&(e.updatedComponentNames[n.id]=t.name),n.name=t.name)},cleanUpdatedComponentNames:e=>{e.updatedComponentNames={}},updateComponentSanitizedAttribute:(e,{payload:{componentId:t,attribute:n}})=>{e.sanitized[t]||(e.sanitized[t]={}),e.sanitized[t][n]=!0},resetSanitizedComponents:e=>{e.sanitized={}}},extraReducers:e=>{e.addCase(s.loadComponents.fulfilled,(e,{payload:t})=>{e.data=t,e.loadStatus="idle"}),e.addCase(s.loadComponents.pending,e=>{e.loadStatus="pending"}),e.addCase(s.loadComponents.rejected,e=>{e.loadStatus="error"})}}),i={...c,reducer(e,t){const n=c.reducer(e,t),o=a.get(t.type);if(!o||!n)return n;const r=structuredClone(n);return o(r,t),r}}},"./packages/packages/core/editor-components/src/store/selectors.ts":function(e,t,n){n.r(t),n.d(t,{componentsSelectors:function(){return s}});var o=n("@elementor/store"),r=n("./packages/packages/core/editor-components/src/store/store.ts");const s={getOverridableProps(e){return(0,r.selectOverridableProps)((0,o.__getState)(),e)},getCurrentComponent(){return(0,r.selectCurrentComponent)((0,o.__getState)())},getCurrentComponentId(){const e=function safeGetState(){return(0,o.__getStore)()?.getState()}();return e?(0,r.selectCurrentComponentId)(e):null},getUnpublishedComponents(){return(0,r.selectUnpublishedComponents)((0,o.__getState)())},getUpdatedComponentNames(){return(0,r.selectUpdatedComponentNames)((0,o.__getState)())},getArchivedThisSession(){return(0,r.selectArchivedThisSession)((0,o.__getState)())},getCreatedThisSession(){return(0,r.selectCreatedThisSession)((0,o.__getState)())},getComponents(){return(0,r.selectComponents)((0,o.__getState)())},getComponentByUid(e){return(0,r.selectComponentByUid)((0,o.__getState)(),e)}}},"./packages/packages/core/editor-components/src/store/store-types.ts":function(e,t,n){n.r(t),n.d(t,{SLICE_NAME:function(){return r},initialState:function(){return o}});const o={data:[],unpublishedData:[],loadStatus:"idle",styles:{},createdThisSession:[],archivedThisSession:[],path:[],currentComponentId:null,updatedComponentNames:{},sanitized:{}},r="components"},"./packages/packages/core/editor-components/src/store/store.ts":function(e,t,n){n.r(t),n.d(t,{SLICE_NAME:function(){return r.SLICE_NAME},__resetExtraReducers:function(){return s.__resetExtraReducers},createComponentsAction:function(){return s.createComponentsAction},initialState:function(){return r.initialState},registerComponentsReducer:function(){return s.registerComponentsReducer},selectArchivedThisSession:function(){return selectArchivedThisSession},selectComponent:function(){return selectComponent},selectComponentByUid:function(){return selectComponentByUid},selectComponents:function(){return a},selectCreatedThisSession:function(){return d},selectCurrentComponent:function(){return k},selectCurrentComponentId:function(){return v},selectData:function(){return selectData},selectFlatStyles:function(){return l},selectIsOverridablePropsLoaded:function(){return g},selectLoadIsError:function(){return p},selectLoadIsPending:function(){return i},selectOverridableProps:function(){return u},selectPath:function(){return f},selectStyles:function(){return selectStyles},selectUnpublishedComponents:function(){return c},selectUpdatedComponentNames:function(){return y},slice:function(){return s.slice},useComponent:function(){return useComponent},useCurrentComponent:function(){return useCurrentComponent},useCurrentComponentId:function(){return useCurrentComponentId},useIsSanitizedComponent:function(){return useIsSanitizedComponent},useOverridableProps:function(){return useOverridableProps}});var o=n("@elementor/store"),r=n("./packages/packages/core/editor-components/src/store/store-types.ts"),s=n("./packages/packages/core/editor-components/src/store/extensible-slice.ts");const selectData=e=>e[r.SLICE_NAME].data,selectArchivedThisSession=e=>e[r.SLICE_NAME].archivedThisSession,selectLoadStatus=e=>e[r.SLICE_NAME].loadStatus,selectUnpublishedData=e=>e[r.SLICE_NAME].unpublishedData,getCurrentComponentId=e=>e[r.SLICE_NAME].currentComponentId,selectComponent=(e,t)=>e[r.SLICE_NAME].data.find(e=>e.id===t),useComponent=e=>(0,o.__useSelector)(t=>e?selectComponent(t,e):null),selectComponentByUid=(e,t)=>e[r.SLICE_NAME].data.find(e=>e.uid===t)??e[r.SLICE_NAME].unpublishedData.find(e=>e.uid===t),a=(0,o.__createSelector)(selectData,selectUnpublishedData,(e,t)=>[...t.map(e=>({uid:e.uid,name:e.name,overridableProps:e.overridableProps})),...e.filter(e=>!e.isArchived)]),c=(0,o.__createSelector)(selectUnpublishedData,e=>e),i=(0,o.__createSelector)(selectLoadStatus,e=>"pending"===e),p=(0,o.__createSelector)(selectLoadStatus,e=>"error"===e),selectStyles=e=>e[r.SLICE_NAME].styles??{},l=(0,o.__createSelector)(e=>e[r.SLICE_NAME].styles??{},e=>Object.values(e).flat()),d=(0,o.__createSelector)(e=>e[r.SLICE_NAME].createdThisSession,e=>e),m={props:{},groups:{items:{},order:[]}},u=(0,o.__createSelector)(selectComponent,e=>{if(e)return e.overridableProps??m}),useOverridableProps=e=>(0,o.__useSelector)(t=>e?u(t,e):null),g=(0,o.__createSelector)(selectComponent,e=>!!e?.overridableProps),f=(0,o.__createSelector)(e=>e[r.SLICE_NAME].path,e=>e),v=(0,o.__createSelector)(getCurrentComponentId,e=>e),k=(0,o.__createSelector)(selectData,getCurrentComponentId,(e,t)=>e.find(e=>e.id===t)),useCurrentComponentId=()=>(0,o.__useSelector)(v),useCurrentComponent=()=>(0,o.__useSelector)(k),y=(0,o.__createSelector)(e=>e[r.SLICE_NAME].updatedComponentNames,e=>Object.entries(e).map(([e,t])=>({componentId:Number(e),title:t}))),useIsSanitizedComponent=(e,t)=>{const n=(0,o.__useSelector)(e=>e[r.SLICE_NAME].sanitized);return!!e&&!!n[e]?.[t]}},"./packages/packages/core/editor-components/src/store/thunks.ts":function(e,t,n){n.r(t),n.d(t,{loadComponents:function(){return s}});var o=n("@elementor/store"),r=n("./packages/packages/core/editor-components/src/api.ts");const s=(0,o.__createAsyncThunk)("components/load",async()=>await r.apiClient.get())},"./packages/packages/core/editor-components/src/sync/before-save.ts":function(e,t,n){n.r(t),n.d(t,{beforeSave:function(){return beforeSave}});var o=n("./packages/packages/core/editor-components/src/sync/publish-draft-components-in-page-before-save.ts");const beforeSave=({container:e,status:t})=>{const n=e?.model.get("elements").toJSON?.()??[];return(0,o.publishDraftComponentsInPageBeforeSave)({elements:n,status:t})}},"./packages/packages/core/editor-components/src/sync/load-component-data-after-instance-added.ts":function(e,t,n){n.r(t),n.d(t,{initLoadComponentDataAfterInstanceAdded:function(){return initLoadComponentDataAfterInstanceAdded}});var o=n("@elementor/editor-v1-adapters"),r=n("./packages/packages/core/editor-components/src/store/actions/load-components-assets.ts");function initLoadComponentDataAfterInstanceAdded(){(0,o.registerDataHook)("after","document/elements/paste",(e,t)=>{load(t)}),(0,o.registerDataHook)("after","document/elements/import",(e,t)=>{load(t)})}function load(e){const t=Array.isArray(e)?e:[e];(0,r.loadComponentsAssets)(t.map(e=>e.model.toJSON()))}},"./packages/packages/core/editor-components/src/sync/publish-draft-components-in-page-before-save.ts":function(e,t,n){n.r(t),n.d(t,{publishDraftComponentsInPageBeforeSave:function(){return publishDraftComponentsInPageBeforeSave}});var o=n("@elementor/editor-documents"),r=n("@elementor/editor-notifications"),s=n("@elementor/http-client"),a=n("@wordpress/i18n"),c=n("./packages/packages/core/editor-components/src/api.ts"),i=n("./packages/packages/core/editor-components/src/utils/get-component-documents.ts");const p="insufficient_permissions",l="https://go.elementor.com/go-pro-components-Instance-draft-failure/",d="component-publish-upgrade";async function publishDraftComponentsInPageBeforeSave({status:e,elements:t}){if("publish"!==e)return;const n=[...(await(0,i.getComponentDocuments)(t)).values()].filter(o.isDocumentDirty).map(e=>e.id);if(0!==n.length){try{await c.apiClient.updateStatuses(n,"publish")}catch(e){if(function isInsufficientPermissionsError(e){return e instanceof s.AxiosError&&e.response?.data?.code===p}(e))return void function notifyPublishUpgrade(){(0,r.notify)({type:"promotion",id:d,message:(0,a.__)("You have unpublished component on this page. You need a pro version to publish it.","elementor"),additionalActionProps:[{size:"small",variant:"contained",color:"promotion",href:l,target:"_blank",children:(0,a.__)("Upgrade Now","elementor")}]})}();throw e}n.forEach(e=>(0,o.invalidateDocumentData)(e))}}},"./packages/packages/core/editor-components/src/utils/component-document-data.ts":function(e,t,n){n.r(t),n.d(t,{getComponentDocumentData:function(){return getComponentDocumentData}});var o=n("@elementor/editor-documents");const getComponentDocumentData=async e=>{const t=(0,o.getV1DocumentsManager)();try{return await t.request(e)}catch{return null}}},"./packages/packages/core/editor-components/src/utils/detach-component-instance/detach-component-instance.ts":function(e,t,n){n.r(t),n.d(t,{detachComponentInstance:function(){return detachComponentInstance}});var o=n("@elementor/editor-elements"),r=n("@elementor/editor-v1-adapters"),s=n("@elementor/store"),a=n("@wordpress/i18n"),c=n("./packages/packages/core/editor-components/src/prop-types/component-instance-overrides-prop-type.ts"),i=n("./packages/packages/core/editor-components/src/prop-types/component-instance-prop-type.ts"),p=n("./packages/packages/core/editor-components/src/store/store.ts"),l=n("./packages/packages/core/editor-components/src/utils/component-document-data.ts"),d=n("./packages/packages/core/editor-components/src/utils/tracking.ts"),m=n("./packages/packages/core/editor-components/src/utils/detach-component-instance/resolve-detached-instance.ts");async function detachComponentInstance({instanceId:e,componentId:t,trackingInfo:n}){const u=(0,o.getContainer)(e);if(!u)throw new Error(`Instance container with ID "${e}" not found.`);const g=await(0,l.getComponentDocumentData)(t);if(!g)throw new Error(`Component with ID "${t}" not found.`);const f=g.elements?.[0];if(!f)throw new Error(`Component with ID "${t}" has no root element.`);const v=(0,r.undoable)({do:()=>{const r=function extractInstanceOverrides(e){const t=e.model.toJSON().settings,n=i.componentInstancePropTypeUtil.extract(t?.component_instance),o=c.componentInstanceOverridesPropTypeUtil.extract(n?.overrides);return o??[]}(u),a=(0,m.resolveDetachedInstance)(f,r),l=(0,p.selectCurrentComponentId)((0,s.__getState)()),g=l?(0,p.selectOverridableProps)((0,s.__getState)(),l)??null:null,v=u.model.toJSON(),k=(0,o.replaceElement)({currentElementId:e,newElement:a,withHistory:!1}),y=(0,p.selectComponent)((0,s.__getState)(),t)?.uid;return(0,d.trackComponentEvent)({action:"detached",source:"user",component_uid:y,instance_id:e,location:n.location,secondary_location:n.secondaryLocation,trigger:n.trigger}),{detachedElement:k,detachedInstanceElementData:a,editedComponentOnDetach:l,overridablePropsBeforeDetach:g,originalInstanceModel:v}},undo:(e,{detachedElement:t,originalInstanceModel:n,overridablePropsBeforeDetach:r,editedComponentOnDetach:a})=>{const c=(0,o.replaceElement)({currentElementId:t.id,newElement:n,withHistory:!1}),i=(0,p.selectCurrentComponentId)((0,s.__getState)());return i&&i===a&&r&&(0,s.__dispatch)(p.slice.actions.setOverridableProps({componentId:i,overridableProps:r})),c},redo:(e,t,n)=>{const{detachedInstanceElementData:r}=t,a=(0,p.selectCurrentComponentId)((0,s.__getState)()),c=a?(0,p.selectOverridableProps)((0,s.__getState)(),a)??null:null,i=(0,o.replaceElement)({currentElementId:n.id,newElement:r,withHistory:!1});return{...t,detachedElement:i,editedComponentOnDetach:a,overridablePropsBeforeDetach:c}}},{title:(0,a.__)("Detach from Component","elementor"),subtitle:(0,a.__)("Instance detached","elementor")});return v()}},"./packages/packages/core/editor-components/src/utils/detach-component-instance/index.ts":function(e,t,n){n.r(t),n.d(t,{detachComponentInstance:function(){return o.detachComponentInstance}});var o=n("./packages/packages/core/editor-components/src/utils/detach-component-instance/detach-component-instance.ts")},"./packages/packages/core/editor-components/src/utils/detach-component-instance/regenerate-local-style-ids.ts":function(e,t,n){n.r(t),n.d(t,{regenerateLocalStyleIds:function(){return regenerateLocalStyleIds}});var o=n("@elementor/editor-elements"),r=n("@elementor/editor-props");function regenerateLocalStyleIds(e){const t=e.styles;if(!t||0===Object.keys(t).length)return{styles:void 0,settings:void 0};const n={},o={};for(const[r,s]of Object.entries(t)){const t=generateLocalStyleId(e.id);n[t]={...s,id:t},o[r]=t}const s=e.settings;if(!s||0===Object.keys(s).length)return{styles:n,settings:void 0};const a={...s};for(const[e,t]of Object.entries(a))if(isClassesProp(t)&&t.value.length>0){const n=t.value.map(e=>o[e]??e);a[e]=r.classesPropTypeUtil.create(n)}return{styles:n,settings:a}}function isClassesProp(e){return r.classesPropTypeUtil.isValid(e)}function generateLocalStyleId(e){return`e-${e}-${(0,o.generateElementId)()}`}},"./packages/packages/core/editor-components/src/utils/detach-component-instance/resolve-detached-instance.ts":function(e,t,n){n.r(t),n.d(t,{getOverridableOverride:function(){return getOverridableOverride},resolveDetachedInstance:function(){return resolveDetachedInstance}});var o=n("@elementor/editor-elements"),r=n("./packages/packages/core/editor-components/src/prop-types/component-instance-override-prop-type.ts"),s=n("./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts"),a=n("./packages/packages/core/editor-components/src/utils/detach-component-instance/regenerate-local-style-ids.ts"),c=n("./packages/packages/core/editor-components/src/utils/detach-component-instance/resolve-overridable-settings.ts");function resolveDetachedInstance(e,t){const n=function createOverrideMap(e){const t=new Map;return e.forEach(e=>{let n=null;if(r.componentInstanceOverridePropTypeUtil.isValid(e)?n=e:s.componentOverridablePropTypeUtil.isValid(e)&&(n=getOverridableOverride(e)),n){const e=n.value.override_key;t.set(e,n)}}),t}(t);return resolveElementRecursive(structuredClone(e),n)}function resolveElementRecursive(e,t){if(e.id=(0,o.generateElementId)(),e.styles){const{styles:t,settings:n}=(0,a.regenerateLocalStyleIds)(e);e.styles=t,n&&(e.settings={...e.settings,...n})}return e.settings&&(e.settings=(0,c.resolveOverridableSettings)(e,t)),e.elements?.length&&(e.elements=e.elements.map(e=>resolveElementRecursive(e,t))),e}function getOverridableOverride(e){if(!s.componentOverridablePropTypeUtil.isValid(e))return null;const t=s.componentOverridablePropTypeUtil.extract(e)?.origin_value;return r.componentInstanceOverridePropTypeUtil.isValid(t)?t:null}},"./packages/packages/core/editor-components/src/utils/detach-component-instance/resolve-overridable-settings.ts":function(e,t,n){n.r(t),n.d(t,{resolveOverridableSettings:function(){return resolveOverridableSettings}});var o=n("./packages/packages/core/editor-components/src/prop-types/component-instance-override-prop-type.ts"),r=n("./packages/packages/core/editor-components/src/prop-types/component-instance-prop-type.ts"),s=n("./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts"),a=n("./packages/packages/core/editor-components/src/utils/is-component-instance.ts");function resolveOverridableSettings(e,t){return(0,a.isComponentInstance)({widgetType:e.widgetType,elType:e.elType})?function resolveOverridableSettingsForComponentInstance(e,t){const n=e.settings?.component_instance;if(!r.componentInstancePropTypeUtil.isValid(n))return e.settings??{};const o=n.value.overrides?.value;if(!o?.length)return e.settings??{};const s=o.map(e=>resolvePropValue(e,t,{isOverridableOverride:!0}));return{...e.settings,component_instance:{...n,value:{...n.value,overrides:{...n.value.overrides,value:s}}}}}(e,t):function resolveOverridableSettingsForElement(e,t){const n=e.settings?{...e.settings}:{};for(const[o,r]of Object.entries(e.settings??{}))n[o]=resolvePropValue(r,t);return n}(e,t)}function resolvePropValue(e,t,n){const{isOverridableOverride:r=!1}=n??{};if(!s.componentOverridablePropTypeUtil.isValid(e))return e;const a=e.value.override_key,c=t.get(a),i=s.componentOverridablePropTypeUtil.extract(e)?.origin_value;if(!c)return i;if(r)return function resolveOverridableOverride(e,t){if(!t||!o.componentInstanceOverridePropTypeUtil.isValid(t))return null;return o.componentInstanceOverridePropTypeUtil.create({override_value:e.value.override_value,override_key:t.value.override_key,schema_source:t.value.schema_source})}(c,i);const p=o.componentInstanceOverridePropTypeUtil.extract(c)?.override_value;return p}},"./packages/packages/core/editor-components/src/utils/filter-valid-overridable-props.ts":function(e,t,n){n.r(t),n.d(t,{filterValidOverridableProps:function(){return filterValidOverridableProps},isExposedPropValid:function(){return isExposedPropValid}});var o=n("./packages/packages/core/editor-components/src/prop-types/component-instance-overrides-prop-type.ts"),r=n("./packages/packages/core/editor-components/src/prop-types/component-instance-prop-type.ts"),s=n("./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts"),a=n("./packages/packages/core/editor-components/src/utils/get-container-by-origin-id.ts"),c=n("./packages/packages/core/editor-components/src/utils/get-overridable-prop.ts"),i=n("./packages/packages/core/editor-components/src/utils/overridable-props-utils.ts");function filterValidOverridableProps(e,t){const n={};for(const[o,r]of Object.entries(e.props))isExposedPropValid(r,t)&&(n[o]=r);const o=new Set(Object.keys(n));return{props:n,groups:{items:Object.fromEntries(Object.entries(e.groups.items).map(([e,t])=>[e,{...t,props:t.props.filter(e=>o.has(e))}])),order:e.groups.order}}}function isExposedPropValid(e,t){if(!e.originPropFields)return!0;const n=(0,a.getContainerByOriginId)(e.elementId,t);if(!n)return!1;const p=n.settings?.get("component_instance")??null,l=r.componentInstancePropTypeUtil.extract(p);if(!l?.component_id?.value)return!1;const d=function findOverrideByOuterKey(e,t){if(!e)return null;return e.find(e=>{const n=s.componentOverridablePropTypeUtil.extract(e);return n?n.override_key===t:e.value.override_key===t})??null}(o.componentInstanceOverridesPropTypeUtil.extract(l.overrides)??void 0,e.overrideKey),m=(0,i.extractInnerOverrideInfo)(d);if(!m)return!1;const{componentId:u,innerOverrideKey:g}=m,f=(0,c.getOverridableProp)({componentId:u,overrideKey:g});return!!f&&isExposedPropValid(f,n.id)}},"./packages/packages/core/editor-components/src/utils/format-component-elements-id.ts":function(e,t,n){n.r(t),n.d(t,{formatComponentElementsId:function(){return formatComponentElementsId}});var o=n("@elementor/utils");const r=7;function formatComponentElementsId(e,t){return e.map(e=>{const n=[...t,e.id],s=(0,o.hashString)(n.join("_"),r);return{...e,id:s,originId:e.id,elements:e.elements?formatComponentElementsId(e.elements,n):void 0}})}},"./packages/packages/core/editor-components/src/utils/get-component-documents.ts":function(e,t,n){n.r(t),n.d(t,{getComponentDocuments:function(){return getComponentDocuments}});var o=n("./packages/packages/core/editor-components/src/utils/component-document-data.ts"),r=n("./packages/packages/core/editor-components/src/utils/is-component-instance.ts");async function getComponentDocuments(e,t=new Map){return async function getDocumentsMap(e,t){const n=await Promise.all(e.map(async e=>{const n=await t.get(e);return n?[e,n]:null}));return new Map(n.filter(e=>null!==e))}(await getComponentIds(e,t),t)}async function getComponentIds(e,t){const n=await Promise.all(e.map(async({widgetType:e,elType:n,elements:s,settings:a})=>{const c=[];if((0,r.isComponentInstance)({widgetType:e,elType:n})){const e=a?.component_instance?.value?.component_id.value;if(!e)return c;c.push(e),t.has(e)||t.set(e,(0,o.getComponentDocumentData)(e));const n=await t.get(e);s=n?.elements}if(s?.length){const e=await getComponentIds(s,t);c.push(...e)}return c}));return[...new Set(n.flat())]}},"./packages/packages/core/editor-components/src/utils/get-container-by-origin-id.ts":function(e,t,n){n.r(t),n.d(t,{getContainerByOriginId:function(){return getContainerByOriginId}});var o=n("@elementor/editor-elements");function getContainerByOriginId(e,t){if(!t)return(0,o.getContainer)(e);const n=(0,o.getContainer)(t);if(!n)return null;const r=window;return r.elementor?.getContainerByKeyValue?.({key:"originId",value:e,parent:n.view})??null}},"./packages/packages/core/editor-components/src/utils/get-overridable-prop.ts":function(e,t,n){n.r(t),n.d(t,{getOverridableProp:function(){return getOverridableProp}});var o=n("@elementor/store"),r=n("./packages/packages/core/editor-components/src/store/store.ts");function getOverridableProp({componentId:e,overrideKey:t}){const n=(0,r.selectOverridableProps)((0,o.__getState)(),e);if(n)return n.props[t]}},"./packages/packages/core/editor-components/src/utils/get-prop-type-for-component-override.ts":function(e,t,n){n.r(t),n.d(t,{getPropTypeForComponentOverride:function(){return getPropTypeForComponentOverride}});var o=n("@elementor/editor-elements");const getPropTypeForComponentOverride=e=>{if(e.originPropFields)return getPropType(e.originPropFields);const{widgetType:t,propKey:n}=e;return getPropType({widgetType:t,propKey:n})};function getPropType({widgetType:e,propKey:t}){const n=(0,o.getWidgetsCache)()?.[e]?.atomic_props_schema;return n?.[t]}},"./packages/packages/core/editor-components/src/utils/is-component-instance.ts":function(e,t,n){n.r(t),n.d(t,{isComponentInstance:function(){return isComponentInstance}});var o=n("./packages/packages/core/editor-components/src/consts.ts");function isComponentInstance(e){return[e.widgetType,e.elType].includes(o.COMPONENT_WIDGET_TYPE)}},"./packages/packages/core/editor-components/src/utils/is-pro-components-supported.ts":function(e,t,n){n.r(t),n.d(t,{isProComponentsSupported:function(){return isProComponentsSupported},isProOutdatedForComponents:function(){return isProOutdatedForComponents}});var o=n("@elementor/utils");const r="4.0";function isProComponentsSupported(){return(0,o.hasProInstalled)()&&(0,o.isProAtLeast)(r)}function isProOutdatedForComponents(){return(0,o.hasProInstalled)()&&!(0,o.isProAtLeast)(r)}},"./packages/packages/core/editor-components/src/utils/overridable-props-utils.ts":function(e,t,n){n.r(t),n.d(t,{extractInnerOverrideInfo:function(){return extractInnerOverrideInfo},getMatchingOverride:function(){return getMatchingOverride}});var o=n("./packages/packages/core/editor-components/src/prop-types/component-instance-override-prop-type.ts"),r=n("./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts");function getMatchingOverride(e,t){return e?.find(e=>{const n=r.componentOverridablePropTypeUtil.extract(e);if(n){const e=o.componentInstanceOverridePropTypeUtil.extract(n.origin_value);return e?.override_key===t}return e.value.override_key===t})??null}function extractInnerOverrideInfo(e){if(!e)return null;const t=r.componentOverridablePropTypeUtil.extract(e),n=t?o.componentInstanceOverridePropTypeUtil.extract(t.origin_value):o.componentInstanceOverridePropTypeUtil.extract(e);if(!n)return null;const{schema_source:s,override_key:a,override_value:c}=n,i=s?.id;return i&&a?{componentId:i,innerOverrideKey:a,overrideValue:c}:null}},"./packages/packages/core/editor-components/src/utils/resolve-override-prop-value.ts":function(e,t,n){n.r(t),n.d(t,{resolveOverridePropValue:function(){return resolveOverridePropValue}});var o=n("./packages/packages/core/editor-components/src/prop-types/component-instance-override-prop-type.ts"),r=n("./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts");const resolveOverridePropValue=e=>{if(r.componentOverridablePropTypeUtil.isValid(e))return function getOverridableValue(e){const t=r.componentOverridablePropTypeUtil.extract(e);if(!t)return null;const n=o.componentInstanceOverridePropTypeUtil.isValid(t.origin_value);if(n)return getOverrideValue(t.origin_value);return t.origin_value}(e);return o.componentInstanceOverridePropTypeUtil.isValid(e)?getOverrideValue(e):e};function getOverrideValue(e){const t=o.componentInstanceOverridePropTypeUtil.extract(e);return t?t.override_value:null}},"./packages/packages/core/editor-components/src/utils/switch-to-component.ts":function(e,t,n){n.r(t),n.d(t,{buildUniqueSelector:function(){return buildUniqueSelector},expandNavigator:function(){return expandNavigator},switchToComponent:function(){return switchToComponent}});var o=n("@elementor/editor-documents"),r=n("@elementor/editor-elements"),s=n("@elementor/editor-v1-adapters");async function switchToComponent(e,t,n){const s=function getSelector(e,t){if(e)return buildUniqueSelector(e);if(t)return`[data-id="${t}"]`;return}(n,t);(0,o.invalidateDocumentData)(e),await(0,o.switchToDocument)(e,{selector:s,mode:"autosave",setAsInitial:!1,shouldScroll:!1});const a=(0,r.getCurrentDocumentContainer)(),c=a?.children?.[0];c&&((0,r.selectElement)(c.id),expandNavigator())}async function expandNavigator(){await(0,s.__privateRunCommand)("navigator/expand-all")}function buildUniqueSelector(e){const t=[];let n=e.closest("[data-id]");for(;n;){const e=n.dataset.id;n.hasAttribute("data-elementor-id")&&t.unshift(`[data-id="${e}"]`),n=n.parentElement?.closest("[data-id]")??null}if(0===t.length){const t=e.closest("[data-id]");if(t?.dataset?.id)return`[data-id="${t.dataset.id}"]`}return t.join(" ")}},"./packages/packages/core/editor-components/src/utils/tracking.ts":function(e,t,n){n.r(t),n.d(t,{onElementDrop:function(){return onElementDrop},trackComponentEvent:function(){return trackComponentEvent}});var o=n("@elementor/events"),r=n("@elementor/store"),s=n("./packages/packages/core/editor-components/src/store/store.ts");const trackComponentEvent=({action:e,source:t,...n})=>{if("system"===t)return;const{dispatchEvent:r,config:s}=(0,o.getMixpanel)();if(!s?.names?.components?.[e])return;const a=s.names.components[e];r?.(a,{...n,source:t,"Feature name":"Components"})},onElementDrop=(e,t)=>{if("e-component"!==t?.model?.get("widgetType"))return;const n=t.model.get("editor_settings"),o=n?.title,a=n?.component_uid,c=t.id,i=(0,s.selectCreatedThisSession)((0,r.__getState)()),p=a&&i.includes(a),l=window.elementorCommon.eventsManager.config,{locations:d,secondaryLocations:m}=l;trackComponentEvent({action:"instanceAdded",source:"user",instance_id:c,component_uid:a,component_name:o,is_same_session_reuse:p,location:d.widgetPanel,secondary_location:m.componentsTab})}},"@elementor/editor":function(e){e.exports=window.elementorV2.editor},"@elementor/editor-canvas":function(e){e.exports=window.elementorV2.editorCanvas},"@elementor/editor-controls":function(e){e.exports=window.elementorV2.editorControls},"@elementor/editor-current-user":function(e){e.exports=window.elementorV2.editorCurrentUser},"@elementor/editor-documents":function(e){e.exports=window.elementorV2.editorDocuments},"@elementor/editor-editing-panel":function(e){e.exports=window.elementorV2.editorEditingPanel},"@elementor/editor-elements":function(e){e.exports=window.elementorV2.editorElements},"@elementor/editor-elements-panel":function(e){e.exports=window.elementorV2.editorElementsPanel},"@elementor/editor-notifications":function(e){e.exports=window.elementorV2.editorNotifications},"@elementor/editor-panels":function(e){e.exports=window.elementorV2.editorPanels},"@elementor/editor-props":function(e){e.exports=window.elementorV2.editorProps},"@elementor/editor-styles-repository":function(e){e.exports=window.elementorV2.editorStylesRepository},"@elementor/editor-templates":function(e){e.exports=window.elementorV2.editorTemplates},"@elementor/editor-ui":function(e){e.exports=window.elementorV2.editorUi},"@elementor/editor-v1-adapters":function(e){e.exports=window.elementorV2.editorV1Adapters},"@elementor/events":function(e){e.exports=window.elementorV2.events},"@elementor/http-client":function(e){e.exports=window.elementorV2.httpClient},"@elementor/icons":function(e){e.exports=window.elementorV2.icons},"@elementor/schema":function(e){e.exports=window.elementorV2.schema},"@elementor/store":function(e){e.exports=window.elementorV2.store},"@elementor/ui":function(e){e.exports=window.elementorV2.ui},"@elementor/utils":function(e){e.exports=window.elementorV2.utils},"@wordpress/i18n":function(e){e.exports=window.wp.i18n},react:function(e){e.exports=window.React}},t={};function __webpack_require__(n){var o=t[n];if(void 0!==o)return o.exports;var r=t[n]={exports:{}};return e[n](r,r.exports,__webpack_require__),r.exports}__webpack_require__.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return __webpack_require__.d(t,{a:t}),t},__webpack_require__.d=function(e,t){for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},__webpack_require__.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},__webpack_require__.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};!function(){__webpack_require__.r(n),__webpack_require__.d(n,{COMPONENT_WIDGET_TYPE:function(){return u.COMPONENT_WIDGET_TYPE},ComponentInstanceProvider:function(){return h.ComponentInstanceProvider},ComponentItem:function(){return r.ComponentItem},ComponentName:function(){return r.ComponentName},ComponentSearch:function(){return o.ComponentSearch},ComponentsList:function(){return s.ComponentsList},DetachAction:function(){return m.DetachAction},EditComponentAction:function(){return l.EditComponentAction},EmptySearchResult:function(){return s.EmptySearchResult},InstanceEmptyState:function(){return i.EmptyState},InstancePanelBody:function(){return p.InstancePanelBody},InstancePanelHeader:function(){return l.InstancePanelHeader},LoadingComponents:function(){return a.LoadingComponents},OverridablePropProvider:function(){return b.OverridablePropProvider},SLICE_NAME:function(){return w.SLICE_NAME},SearchProvider:function(){return c.SearchProvider},apiClient:function(){return t.apiClient},componentInstanceOverridePropTypeUtil:function(){return k.componentInstanceOverridePropTypeUtil},componentInstanceOverridesPropTypeUtil:function(){return y.componentInstanceOverridesPropTypeUtil},componentInstancePropTypeUtil:function(){return _.componentInstancePropTypeUtil},componentOverridablePropTypeUtil:function(){return C.componentOverridablePropTypeUtil},componentsActions:function(){return P.componentsActions},componentsSelectors:function(){return x.componentsSelectors},createComponentsAction:function(){return w.createComponentsAction},filterValidOverridableProps:function(){return O.filterValidOverridableProps},getContainerByOriginId:function(){return T.getContainerByOriginId},getOverridableProp:function(){return D.getOverridableProp},getPropTypeForComponentOverride:function(){return U.getPropTypeForComponentOverride},init:function(){return e.init},isComponentInstance:function(){return A.isComponentInstance},loadComponentsAssets:function(){return E.loadComponentsAssets},onElementDrop:function(){return L.onElementDrop},publishDraftComponentsInPageBeforeSave:function(){return S.publishDraftComponentsInPageBeforeSave},registerComponentsReducer:function(){return w.registerComponentsReducer},resolveOverridePropValue:function(){return V.resolveOverridePropValue},selectOverridableProps:function(){return w.selectOverridableProps},selectPath:function(){return w.selectPath},slice:function(){return w.slice},switchToComponent:function(){return N.switchToComponent},trackComponentEvent:function(){return L.trackComponentEvent},updateOverridableProp:function(){return I.updateOverridableProp},useComponentInstanceElement:function(){return b.useComponentInstanceElement},useComponents:function(){return g.useComponents},useComponentsPermissions:function(){return f.useComponentsPermissions},useCurrentComponent:function(){return w.useCurrentComponent},useCurrentComponentId:function(){return w.useCurrentComponentId},useFilteredComponents:function(){return s.useFilteredComponents},useInstancePanelData:function(){return d.useInstancePanelData},useIsSanitizedComponent:function(){return w.useIsSanitizedComponent},useOverridablePropValue:function(){return b.useOverridablePropValue},useOverridableProps:function(){return w.useOverridableProps},useSanitizeOverridableProps:function(){return v.useSanitizeOverridableProps}});var e=__webpack_require__("./packages/packages/core/editor-components/src/init.ts"),t=__webpack_require__("./packages/packages/core/editor-components/src/api.ts"),o=__webpack_require__("./packages/packages/core/editor-components/src/components/components-tab/component-search.tsx"),r=__webpack_require__("./packages/packages/core/editor-components/src/components/components-tab/components-item.tsx"),s=__webpack_require__("./packages/packages/core/editor-components/src/components/components-tab/components-list.tsx"),a=__webpack_require__("./packages/packages/core/editor-components/src/components/components-tab/loading-components.tsx"),c=__webpack_require__("./packages/packages/core/editor-components/src/components/components-tab/search-provider.tsx"),i=__webpack_require__("./packages/packages/core/editor-components/src/components/instance-editing-panel/empty-state.tsx"),p=__webpack_require__("./packages/packages/core/editor-components/src/components/instance-editing-panel/instance-panel-body.tsx"),l=__webpack_require__("./packages/packages/core/editor-components/src/components/instance-editing-panel/instance-panel-header.tsx"),d=__webpack_require__("./packages/packages/core/editor-components/src/components/instance-editing-panel/use-instance-panel-data.ts"),m=__webpack_require__("./packages/packages/core/editor-components/src/components/instance-editing-panel/detach-action.tsx"),u=__webpack_require__("./packages/packages/core/editor-components/src/create-component-type.ts"),g=__webpack_require__("./packages/packages/core/editor-components/src/hooks/use-components.ts"),f=__webpack_require__("./packages/packages/core/editor-components/src/hooks/use-components-permissions.ts"),v=__webpack_require__("./packages/packages/core/editor-components/src/hooks/use-sanitize-overridable-props.ts"),k=__webpack_require__("./packages/packages/core/editor-components/src/prop-types/component-instance-override-prop-type.ts"),y=__webpack_require__("./packages/packages/core/editor-components/src/prop-types/component-instance-overrides-prop-type.ts"),_=__webpack_require__("./packages/packages/core/editor-components/src/prop-types/component-instance-prop-type.ts"),C=__webpack_require__("./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts"),h=__webpack_require__("./packages/packages/core/editor-components/src/provider/component-instance-context.tsx"),b=__webpack_require__("./packages/packages/core/editor-components/src/provider/overridable-prop-context.tsx"),E=__webpack_require__("./packages/packages/core/editor-components/src/store/actions/load-components-assets.ts"),I=__webpack_require__("./packages/packages/core/editor-components/src/store/actions/update-overridable-prop.ts"),P=__webpack_require__("./packages/packages/core/editor-components/src/store/dispatchers.ts"),x=__webpack_require__("./packages/packages/core/editor-components/src/store/selectors.ts"),w=__webpack_require__("./packages/packages/core/editor-components/src/store/store.ts"),S=__webpack_require__("./packages/packages/core/editor-components/src/sync/publish-draft-components-in-page-before-save.ts"),O=__webpack_require__("./packages/packages/core/editor-components/src/utils/filter-valid-overridable-props.ts"),T=__webpack_require__("./packages/packages/core/editor-components/src/utils/get-container-by-origin-id.ts"),D=__webpack_require__("./packages/packages/core/editor-components/src/utils/get-overridable-prop.ts"),U=__webpack_require__("./packages/packages/core/editor-components/src/utils/get-prop-type-for-component-override.ts"),A=__webpack_require__("./packages/packages/core/editor-components/src/utils/is-component-instance.ts"),V=__webpack_require__("./packages/packages/core/editor-components/src/utils/resolve-override-prop-value.ts"),N=__webpack_require__("./packages/packages/core/editor-components/src/utils/switch-to-component.ts"),L=__webpack_require__("./packages/packages/core/editor-components/src/utils/tracking.ts")}(),(window.elementorV2=window.elementorV2||{}).editorComponents=n}(),window.elementorV2.editorComponents?.init?.();
5753 3 //# sourceMappingURL=editor-components.js.map