@elementor/editor-components 4.1.0-733 → 4.1.0-734

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.1.0-733",
4
+ "version": "4.1.0-734",
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.1.0-733",
44
- "@elementor/editor-canvas": "4.1.0-733",
45
- "@elementor/editor-controls": "4.1.0-733",
46
- "@elementor/editor-documents": "4.1.0-733",
47
- "@elementor/editor-editing-panel": "4.1.0-733",
48
- "@elementor/editor-elements": "4.1.0-733",
49
- "@elementor/editor-elements-panel": "4.1.0-733",
50
- "@elementor/editor-mcp": "4.1.0-733",
51
- "@elementor/editor-templates": "4.1.0-733",
52
- "@elementor/editor-panels": "4.1.0-733",
53
- "@elementor/editor-props": "4.1.0-733",
54
- "@elementor/editor-styles-repository": "4.1.0-733",
55
- "@elementor/editor-ui": "4.1.0-733",
56
- "@elementor/editor-v1-adapters": "4.1.0-733",
57
- "@elementor/http-client": "4.1.0-733",
43
+ "@elementor/editor": "4.1.0-734",
44
+ "@elementor/editor-canvas": "4.1.0-734",
45
+ "@elementor/editor-controls": "4.1.0-734",
46
+ "@elementor/editor-documents": "4.1.0-734",
47
+ "@elementor/editor-editing-panel": "4.1.0-734",
48
+ "@elementor/editor-elements": "4.1.0-734",
49
+ "@elementor/editor-elements-panel": "4.1.0-734",
50
+ "@elementor/editor-mcp": "4.1.0-734",
51
+ "@elementor/editor-templates": "4.1.0-734",
52
+ "@elementor/editor-panels": "4.1.0-734",
53
+ "@elementor/editor-props": "4.1.0-734",
54
+ "@elementor/editor-styles-repository": "4.1.0-734",
55
+ "@elementor/editor-ui": "4.1.0-734",
56
+ "@elementor/editor-v1-adapters": "4.1.0-734",
57
+ "@elementor/http-client": "4.1.0-734",
58
58
  "@elementor/icons": "^1.68.0",
59
- "@elementor/events": "4.1.0-733",
60
- "@elementor/query": "4.1.0-733",
61
- "@elementor/schema": "4.1.0-733",
62
- "@elementor/store": "4.1.0-733",
59
+ "@elementor/events": "4.1.0-734",
60
+ "@elementor/query": "4.1.0-734",
61
+ "@elementor/schema": "4.1.0-734",
62
+ "@elementor/store": "4.1.0-734",
63
63
  "@elementor/ui": "1.36.17",
64
- "@elementor/utils": "4.1.0-733",
64
+ "@elementor/utils": "4.1.0-734",
65
65
  "@wordpress/i18n": "^5.13.0",
66
- "@elementor/editor-notifications": "4.1.0-733",
67
- "@elementor/editor-current-user": "4.1.0-733"
66
+ "@elementor/editor-notifications": "4.1.0-734",
67
+ "@elementor/editor-current-user": "4.1.0-734"
68
68
  },
69
69
  "peerDependencies": {
70
70
  "react": "^18.3.1",
@@ -51,6 +51,7 @@ import { resolveOverridePropValue } from '../../utils/resolve-override-prop-valu
51
51
  import { ControlLabel } from '../control-label';
52
52
  import { OverrideControlInnerElementNotFoundError } from '../errors';
53
53
  import { useResolvedOriginValue } from './use-resolved-origin-value';
54
+ import { correctExposedEmptyOverride } from './utils/correct-exposed-empty-override';
54
55
 
55
56
  type Props = {
56
57
  overrideKey: string;
@@ -124,12 +125,14 @@ function OverrideControl( { overridableProp }: InternalProps ) {
124
125
  return;
125
126
  }
126
127
 
127
- const newPropValue = getTempNewValueForDynamicProp(
128
+ let newPropValue = getTempNewValueForDynamicProp(
128
129
  propType,
129
130
  propValue,
130
131
  newValue[ overridableProp.overrideKey ]
131
132
  );
132
133
 
134
+ newPropValue = correctExposedEmptyOverride( newPropValue, matchingOverride );
135
+
133
136
  const newOverrideValue = createOverrideValue( {
134
137
  matchingOverride,
135
138
  overrideKey: overridableProp.overrideKey,
@@ -0,0 +1,28 @@
1
+ import { type ComponentInstanceOverrideProp } from '../../../prop-types/component-instance-override-prop-type';
2
+ import { type ComponentInstanceOverride } from '../../../prop-types/component-instance-overrides-prop-type';
3
+ import {
4
+ type ComponentOverridableProp,
5
+ componentOverridablePropTypeUtil,
6
+ } from '../../../prop-types/component-overridable-prop-type';
7
+
8
+ type OverrideValue = ComponentInstanceOverrideProp | ComponentOverridableProp;
9
+
10
+ // The control receives the resolved value, so when exposing a prop that was never overridden,
11
+ // origin_value will be the resolved value instead of null.
12
+ // So here, we correct this by resetting origin_value to null.
13
+ export function correctExposedEmptyOverride(
14
+ newPropValue: OverrideValue,
15
+ matchingOverride: ComponentInstanceOverride | null
16
+ ): OverrideValue {
17
+ const newOverridableValue = componentOverridablePropTypeUtil.extract( newPropValue );
18
+ const isExposingEmptyOverride = newOverridableValue && matchingOverride === null;
19
+
20
+ if ( ! isExposingEmptyOverride ) {
21
+ return newPropValue;
22
+ }
23
+
24
+ return componentOverridablePropTypeUtil.create( {
25
+ override_key: newOverridableValue.override_key,
26
+ origin_value: null,
27
+ } );
28
+ }