@elementor/editor-controls 0.26.0 → 0.27.0
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/CHANGELOG.md +12 -0
- package/dist/index.d.mts +25 -22
- package/dist/index.d.ts +25 -22
- package/dist/index.js +22 -30
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +20 -28
- package/dist/index.mjs.map +1 -1
- package/package.json +3 -3
- package/src/control-replacements.tsx +49 -0
- package/src/controls/equal-unequal-sizes-control.tsx +0 -1
- package/src/create-control.tsx +3 -18
- package/src/index.ts +1 -1
- package/src/create-control-replacement.tsx +0 -54
package/dist/index.mjs
CHANGED
|
@@ -193,46 +193,39 @@ var ControlFormLabel = ({ children }) => {
|
|
|
193
193
|
import * as React5 from "react";
|
|
194
194
|
import { ErrorBoundary } from "@elementor/ui";
|
|
195
195
|
|
|
196
|
-
// src/
|
|
196
|
+
// src/control-replacements.tsx
|
|
197
197
|
import * as React4 from "react";
|
|
198
198
|
import { createContext as createContext3, useContext as useContext3 } from "react";
|
|
199
|
-
var ControlReplacementContext = createContext3(
|
|
200
|
-
var
|
|
201
|
-
|
|
202
|
-
condition,
|
|
203
|
-
children
|
|
204
|
-
}) => {
|
|
205
|
-
return /* @__PURE__ */ React4.createElement(ControlReplacementContext.Provider, { value: { component, condition } }, children);
|
|
199
|
+
var ControlReplacementContext = createContext3([]);
|
|
200
|
+
var ControlReplacementsProvider = ({ replacements, children }) => {
|
|
201
|
+
return /* @__PURE__ */ React4.createElement(ControlReplacementContext.Provider, { value: replacements }, children);
|
|
206
202
|
};
|
|
207
|
-
var useControlReplacement = () => {
|
|
203
|
+
var useControlReplacement = (OriginalComponent) => {
|
|
208
204
|
const { value } = useBoundProp();
|
|
209
|
-
const
|
|
210
|
-
let shouldReplace = false;
|
|
205
|
+
const replacements = useContext3(ControlReplacementContext);
|
|
211
206
|
try {
|
|
212
|
-
|
|
207
|
+
const replacement = replacements.find((r) => r.condition({ value }));
|
|
208
|
+
return replacement?.component ?? OriginalComponent;
|
|
213
209
|
} catch {
|
|
210
|
+
return OriginalComponent;
|
|
214
211
|
}
|
|
215
|
-
return shouldReplace ? controlReplacement?.component : void 0;
|
|
216
212
|
};
|
|
217
|
-
var
|
|
218
|
-
|
|
219
|
-
function
|
|
220
|
-
|
|
213
|
+
var createControlReplacementsRegistry = () => {
|
|
214
|
+
const controlReplacements = [];
|
|
215
|
+
function registerControlReplacement(replacement) {
|
|
216
|
+
controlReplacements.push(replacement);
|
|
221
217
|
}
|
|
222
|
-
function
|
|
223
|
-
return
|
|
218
|
+
function getControlReplacements() {
|
|
219
|
+
return controlReplacements;
|
|
224
220
|
}
|
|
225
|
-
return {
|
|
221
|
+
return { registerControlReplacement, getControlReplacements };
|
|
226
222
|
};
|
|
227
223
|
|
|
228
224
|
// src/create-control.tsx
|
|
229
225
|
var brandSymbol = Symbol("control");
|
|
230
|
-
function createControl(
|
|
226
|
+
function createControl(Control5) {
|
|
231
227
|
return (props) => {
|
|
232
|
-
const
|
|
233
|
-
if (ControlReplacement && supportsReplacements) {
|
|
234
|
-
return /* @__PURE__ */ React5.createElement(ErrorBoundary, { fallback: null }, /* @__PURE__ */ React5.createElement(ControlReplacement, { ...props }));
|
|
235
|
-
}
|
|
228
|
+
const Component = useControlReplacement(Control5);
|
|
236
229
|
return /* @__PURE__ */ React5.createElement(ErrorBoundary, { fallback: null }, /* @__PURE__ */ React5.createElement(Component, { ...props }));
|
|
237
230
|
};
|
|
238
231
|
}
|
|
@@ -1328,7 +1321,6 @@ function EqualUnequalSizesControl({
|
|
|
1328
1321
|
},
|
|
1329
1322
|
...bindPopover2(popupState),
|
|
1330
1323
|
slotProps: {
|
|
1331
|
-
// eslint-disable-next-line react-compiler/react-compiler
|
|
1332
1324
|
paper: { sx: { mt: 0.5, width: controlRef.current?.getBoundingClientRect().width } }
|
|
1333
1325
|
}
|
|
1334
1326
|
},
|
|
@@ -2785,7 +2777,7 @@ export {
|
|
|
2785
2777
|
ControlAdornments,
|
|
2786
2778
|
ControlAdornmentsProvider,
|
|
2787
2779
|
ControlFormLabel,
|
|
2788
|
-
|
|
2780
|
+
ControlReplacementsProvider,
|
|
2789
2781
|
ControlToggleButtonGroup,
|
|
2790
2782
|
EqualUnequalSizesControl,
|
|
2791
2783
|
FontFamilyControl,
|
|
@@ -2804,7 +2796,7 @@ export {
|
|
|
2804
2796
|
TextControl,
|
|
2805
2797
|
ToggleControl,
|
|
2806
2798
|
UrlControl,
|
|
2807
|
-
|
|
2799
|
+
createControlReplacementsRegistry,
|
|
2808
2800
|
useBoundProp,
|
|
2809
2801
|
useControlActions,
|
|
2810
2802
|
useSyncExternalState
|