@elementor/editor-editing-panel 3.32.0-69 → 3.32.0-71

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,6 +1,6 @@
1
1
  {
2
2
  "name": "@elementor/editor-editing-panel",
3
- "version": "3.32.0-69",
3
+ "version": "3.32.0-71",
4
4
  "private": false,
5
5
  "author": "Elementor Team",
6
6
  "homepage": "https://elementor.com/",
@@ -39,26 +39,26 @@
39
39
  "dev": "tsup --config=../../tsup.dev.ts"
40
40
  },
41
41
  "dependencies": {
42
- "@elementor/editor": "3.32.0-69",
43
- "@elementor/editor-canvas": "3.32.0-69",
44
- "@elementor/editor-controls": "3.32.0-69",
45
- "@elementor/editor-documents": "3.32.0-69",
46
- "@elementor/editor-elements": "3.32.0-69",
47
- "@elementor/editor-panels": "3.32.0-69",
48
- "@elementor/editor-props": "3.32.0-69",
49
- "@elementor/editor-responsive": "3.32.0-69",
50
- "@elementor/editor-styles": "3.32.0-69",
51
- "@elementor/editor-styles-repository": "3.32.0-69",
52
- "@elementor/editor-ui": "3.32.0-69",
53
- "@elementor/editor-v1-adapters": "3.32.0-69",
42
+ "@elementor/editor": "3.32.0-71",
43
+ "@elementor/editor-canvas": "3.32.0-71",
44
+ "@elementor/editor-controls": "3.32.0-71",
45
+ "@elementor/editor-documents": "3.32.0-71",
46
+ "@elementor/editor-elements": "3.32.0-71",
47
+ "@elementor/editor-panels": "3.32.0-71",
48
+ "@elementor/editor-props": "3.32.0-71",
49
+ "@elementor/editor-responsive": "3.32.0-71",
50
+ "@elementor/editor-styles": "3.32.0-71",
51
+ "@elementor/editor-styles-repository": "3.32.0-71",
52
+ "@elementor/editor-ui": "3.32.0-71",
53
+ "@elementor/editor-v1-adapters": "3.32.0-71",
54
54
  "@elementor/icons": "1.46.0",
55
- "@elementor/locations": "3.32.0-69",
56
- "@elementor/menus": "3.32.0-69",
57
- "@elementor/schema": "3.32.0-69",
58
- "@elementor/session": "3.32.0-69",
55
+ "@elementor/locations": "3.32.0-71",
56
+ "@elementor/menus": "3.32.0-71",
57
+ "@elementor/schema": "3.32.0-71",
58
+ "@elementor/session": "3.32.0-71",
59
59
  "@elementor/ui": "1.36.8",
60
- "@elementor/utils": "3.32.0-69",
61
- "@elementor/wp-media": "3.32.0-69",
60
+ "@elementor/utils": "3.32.0-71",
61
+ "@elementor/wp-media": "3.32.0-71",
62
62
  "@wordpress/i18n": "^5.13.0"
63
63
  },
64
64
  "peerDependencies": {
@@ -40,7 +40,7 @@ export const EffectsSection = () => {
40
40
  <StylesField bind="transition" propDisplayName={ TRANSITIONS_LABEL }>
41
41
  <TransitionRepeaterControl
42
42
  currentStyleState={ meta.state }
43
- recentlyUsedList={ getRecentlyUsedList( element?.id ) }
43
+ recentlyUsedListGetter={ () => getRecentlyUsedList( element?.id ?? '' ) }
44
44
  />
45
45
  </StylesField>
46
46
  <PanelDivider />
@@ -1,34 +1,32 @@
1
+ import { createPropsResolver, styleTransformersRegistry } from '@elementor/editor-canvas';
1
2
  import { getElementStyles } from '@elementor/editor-elements';
2
- import { type Props } from '@elementor/editor-props';
3
+ import { getStylesSchema } from '@elementor/editor-styles';
3
4
 
4
- const quickTransform = ( props: Props ) => {
5
- return Object.entries( props ).map( ( [ key, value ] ) => {
6
- if ( value && typeof value === 'object' && '$$type' in value ) {
7
- if ( value?.$$type === 'dimensions' ) {
8
- return Object.keys( value?.value ?? {} ).map( ( nestedKey ) => `${ key }-${ nestedKey }` );
9
- }
10
- // If not fully reset through element style reset, an array type property name is still in the 'changed' list with an empty array,
11
- // so we need to filter out these properties. https://elementor.atlassian.net/browse/ED-20434
12
- if ( Array.isArray( value?.value ) && ! value?.value?.length ) {
13
- return [];
14
- }
15
- }
16
- return [ key ];
17
- } );
18
- };
19
-
20
- export const getRecentlyUsedList = ( elementId: string | undefined ) => {
5
+ export const getRecentlyUsedList = async ( elementId: string ) => {
21
6
  if ( ! elementId ) {
22
7
  return [];
23
8
  }
9
+ const resolver = createPropsResolver( {
10
+ transformers: styleTransformersRegistry,
11
+ schema: getStylesSchema(),
12
+ } );
24
13
 
25
- const styles = getElementStyles( elementId );
14
+ const styles = getElementStyles( elementId ) ?? {};
26
15
  const styleKeys = Object.keys( styles ?? {} );
27
16
  const variants = styleKeys.map( ( key ) => styles?.[ key ]?.variants ?? [] );
28
- const propList = variants
29
- .flat()
30
- .filter( ( variant ) => variant !== undefined )
31
- .map( ( variant ) => variant.props );
32
- const propSet = new Set( propList.map( quickTransform ).flat( 2 ) );
17
+
18
+ const resolved = await Promise.all(
19
+ variants.flat().map( async ( variant ) => {
20
+ const result = await resolver( {
21
+ props: variant.props ?? {},
22
+ schema: getStylesSchema(),
23
+ } );
24
+ return Object.entries( result )
25
+ .filter( ( [ , value ] ) => value !== null )
26
+ .map( ( [ key ] ) => key );
27
+ } )
28
+ );
29
+
30
+ const propSet = new Set( resolved.flat() );
33
31
  return Array.from( propSet );
34
32
  };