@elementor/editor-components 4.3.0-1038 → 4.3.0-1040

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@elementor/editor-components",
3
3
  "description": "Elementor editor components",
4
- "version": "4.3.0-1038",
4
+ "version": "4.3.0-1040",
5
5
  "private": false,
6
6
  "author": "Elementor Team",
7
7
  "homepage": "https://elementor.com/",
@@ -40,31 +40,31 @@
40
40
  "dev": "tsup --config=../../tsup.dev.ts"
41
41
  },
42
42
  "dependencies": {
43
- "@elementor/editor": "4.3.0-1038",
44
- "@elementor/editor-canvas": "4.3.0-1038",
45
- "@elementor/editor-controls": "4.3.0-1038",
46
- "@elementor/editor-documents": "4.3.0-1038",
47
- "@elementor/editor-editing-panel": "4.3.0-1038",
48
- "@elementor/editor-elements": "4.3.0-1038",
49
- "@elementor/editor-elements-panel": "4.3.0-1038",
50
- "@elementor/editor-mcp": "4.3.0-1038",
51
- "@elementor/editor-templates": "4.3.0-1038",
52
- "@elementor/editor-panels": "4.3.0-1038",
53
- "@elementor/editor-props": "4.3.0-1038",
54
- "@elementor/editor-ui": "4.3.0-1038",
55
- "@elementor/editor-v1-adapters": "4.3.0-1038",
56
- "@elementor/http-client": "4.3.0-1038",
43
+ "@elementor/editor": "4.3.0-1040",
44
+ "@elementor/editor-canvas": "4.3.0-1040",
45
+ "@elementor/editor-controls": "4.3.0-1040",
46
+ "@elementor/editor-documents": "4.3.0-1040",
47
+ "@elementor/editor-editing-panel": "4.3.0-1040",
48
+ "@elementor/editor-elements": "4.3.0-1040",
49
+ "@elementor/editor-elements-panel": "4.3.0-1040",
50
+ "@elementor/editor-mcp": "4.3.0-1040",
51
+ "@elementor/editor-templates": "4.3.0-1040",
52
+ "@elementor/editor-panels": "4.3.0-1040",
53
+ "@elementor/editor-props": "4.3.0-1040",
54
+ "@elementor/editor-ui": "4.3.0-1040",
55
+ "@elementor/editor-v1-adapters": "4.3.0-1040",
56
+ "@elementor/http-client": "4.3.0-1040",
57
57
  "@elementor/icons": "~1.75.1",
58
- "@elementor/events": "4.3.0-1038",
59
- "@elementor/query": "4.3.0-1038",
60
- "@elementor/schema": "4.3.0-1038",
61
- "@elementor/store": "4.3.0-1038",
58
+ "@elementor/events": "4.3.0-1040",
59
+ "@elementor/query": "4.3.0-1040",
60
+ "@elementor/schema": "4.3.0-1040",
61
+ "@elementor/store": "4.3.0-1040",
62
62
  "@elementor/ui": "1.37.5",
63
- "@elementor/utils": "4.3.0-1038",
63
+ "@elementor/utils": "4.3.0-1040",
64
64
  "@wordpress/i18n": "^5.13.0",
65
- "@elementor/editor-notifications": "4.3.0-1038",
66
- "@elementor/editor-current-user": "4.3.0-1038",
67
- "@elementor/editor-embedded-documents-manager": "4.3.0-1038"
65
+ "@elementor/editor-notifications": "4.3.0-1040",
66
+ "@elementor/editor-current-user": "4.3.0-1040",
67
+ "@elementor/editor-embedded-documents-manager": "4.3.0-1040"
68
68
  },
69
69
  "peerDependencies": {
70
70
  "react": "^18.3.1",
@@ -1,13 +1,30 @@
1
- import { type Document, getV1DocumentsManager } from '@elementor/editor-documents';
1
+ import { type Document } from '@elementor/editor-documents';
2
+ import { ajax } from '@elementor/editor-v1-adapters';
2
3
 
3
- type ComponentDocumentData = Document;
4
+ // Mirrors the v1 documents manager request args so both share one ajax cache entry, keeping
5
+ // `elementor.documents.invalidateCache()` effective. Unlike the manager, this omits `immediately`,
6
+ // so component fetches triggered together merge into a single batched request.
7
+ const getComponentDocumentParams = ( id: number ) => ( {
8
+ action: 'get_document_config',
9
+ unique_id: `document-${ id }`,
10
+ data: { id },
11
+ } );
4
12
 
5
- export const getComponentDocumentData = async ( id: number ) => {
6
- const documentManager = getV1DocumentsManager();
13
+ const pendingRequests = new Map< number, Promise< Document | null > >();
7
14
 
8
- try {
9
- return await documentManager.request< ComponentDocumentData >( id );
10
- } catch {
11
- return null;
15
+ export const getComponentDocumentData = ( id: number ): Promise< Document | null > => {
16
+ const pendingRequest = pendingRequests.get( id );
17
+
18
+ if ( pendingRequest ) {
19
+ return pendingRequest;
12
20
  }
21
+
22
+ const request = ajax
23
+ .load< { id: number }, Document >( getComponentDocumentParams( id ) )
24
+ .catch( () => null )
25
+ .finally( () => pendingRequests.delete( id ) );
26
+
27
+ pendingRequests.set( id, request );
28
+
29
+ return request;
13
30
  };
@@ -93,7 +93,6 @@ function reconcileElementTree( element: V1ElementData, overridesMapping: Overrid
93
93
 
94
94
  return {
95
95
  ...element,
96
- settings: effectiveSettings,
97
96
  elements: reconciledChildren,
98
97
  };
99
98
  }