@elementor/editor-controls 3.32.0-95 → 3.33.0-97
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/dist/index.js +67 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +67 -0
- package/dist/index.mjs.map +1 -1
- package/package.json +14 -14
- package/src/components/unstable-repeater/context/repeater-context.tsx +16 -1
- package/src/controls/transition-control/trainsition-events.ts +28 -0
- package/src/controls/transition-control/transition-repeater-control.tsx +3 -0
- package/src/services/event-bus.ts +38 -0
package/dist/index.mjs
CHANGED
|
@@ -1186,6 +1186,42 @@ import { __ as __5, sprintf } from "@wordpress/i18n";
|
|
|
1186
1186
|
import * as React24 from "react";
|
|
1187
1187
|
import { createContext as createContext6, useState as useState6 } from "react";
|
|
1188
1188
|
import { usePopupState as usePopupState3 } from "@elementor/ui";
|
|
1189
|
+
|
|
1190
|
+
// src/services/event-bus.ts
|
|
1191
|
+
var EventBus = class {
|
|
1192
|
+
listeners = /* @__PURE__ */ new Map();
|
|
1193
|
+
subscribe(eventName, callback) {
|
|
1194
|
+
if (!this.listeners.has(eventName)) {
|
|
1195
|
+
this.listeners.set(eventName, /* @__PURE__ */ new Set());
|
|
1196
|
+
}
|
|
1197
|
+
const eventListeners = this.listeners.get(eventName);
|
|
1198
|
+
if (eventListeners) {
|
|
1199
|
+
eventListeners.add(callback);
|
|
1200
|
+
}
|
|
1201
|
+
}
|
|
1202
|
+
unsubscribe(eventName, callback) {
|
|
1203
|
+
const eventListeners = this.listeners.get(eventName);
|
|
1204
|
+
if (!eventListeners) {
|
|
1205
|
+
return;
|
|
1206
|
+
}
|
|
1207
|
+
eventListeners.delete(callback);
|
|
1208
|
+
if (eventListeners.size === 0) {
|
|
1209
|
+
this.listeners.delete(eventName);
|
|
1210
|
+
}
|
|
1211
|
+
}
|
|
1212
|
+
emit(eventName, data) {
|
|
1213
|
+
const eventListeners = this.listeners.get(eventName);
|
|
1214
|
+
if (eventListeners) {
|
|
1215
|
+
eventListeners.forEach((callback) => callback(data));
|
|
1216
|
+
}
|
|
1217
|
+
}
|
|
1218
|
+
clearAll() {
|
|
1219
|
+
this.listeners.clear();
|
|
1220
|
+
}
|
|
1221
|
+
};
|
|
1222
|
+
var eventBus = new EventBus();
|
|
1223
|
+
|
|
1224
|
+
// src/components/unstable-repeater/context/repeater-context.tsx
|
|
1189
1225
|
var RepeaterContext = createContext6(null);
|
|
1190
1226
|
var EMPTY_OPEN_ITEM = -1;
|
|
1191
1227
|
var useRepeaterContext = () => {
|
|
@@ -1234,9 +1270,16 @@ var RepeaterContextProvider = ({
|
|
|
1234
1270
|
setItems(newItems);
|
|
1235
1271
|
setOpenItemIndex(newIndex);
|
|
1236
1272
|
popoverState.open(rowRef ?? ev);
|
|
1273
|
+
eventBus.emit(`${propTypeUtil.key}-item-added`, {
|
|
1274
|
+
itemValue: initial.value
|
|
1275
|
+
});
|
|
1237
1276
|
};
|
|
1238
1277
|
const removeItem = (index) => {
|
|
1278
|
+
const itemToRemove = items2[index];
|
|
1239
1279
|
setItems(items2.filter((_, pos) => pos !== index));
|
|
1280
|
+
eventBus.emit(`${propTypeUtil.key}-item-removed`, {
|
|
1281
|
+
itemValue: itemToRemove?.value
|
|
1282
|
+
});
|
|
1240
1283
|
};
|
|
1241
1284
|
const updateItem = (updatedItem, index) => {
|
|
1242
1285
|
const newItems = [...items2.slice(0, index), updatedItem, ...items2.slice(index + 1)];
|
|
@@ -5068,6 +5111,29 @@ var transitionsItemsList = transitionProperties.map((category) => ({
|
|
|
5068
5111
|
items: category.properties.map((property) => property.label)
|
|
5069
5112
|
}));
|
|
5070
5113
|
|
|
5114
|
+
// src/controls/transition-control/trainsition-events.ts
|
|
5115
|
+
import { getSelectedElements } from "@elementor/editor-elements";
|
|
5116
|
+
import { sendMixpanelEvent } from "@elementor/utils";
|
|
5117
|
+
var transitionRepeaterMixpanelEvent = {
|
|
5118
|
+
eventName: "click_added_transition",
|
|
5119
|
+
location: "V4 Style Tab",
|
|
5120
|
+
secondaryLocation: "Transition control",
|
|
5121
|
+
trigger: "click"
|
|
5122
|
+
};
|
|
5123
|
+
function subscribeToTransitionEvent() {
|
|
5124
|
+
eventBus.subscribe("transition-item-added", (data) => {
|
|
5125
|
+
const payload = data;
|
|
5126
|
+
const value = payload?.itemValue?.selection?.value?.value?.value;
|
|
5127
|
+
const selectedElements = getSelectedElements();
|
|
5128
|
+
const widgetType = selectedElements[0]?.type ?? null;
|
|
5129
|
+
sendMixpanelEvent({
|
|
5130
|
+
transition_type: value ?? "unknown",
|
|
5131
|
+
...transitionRepeaterMixpanelEvent,
|
|
5132
|
+
widget_type: widgetType
|
|
5133
|
+
});
|
|
5134
|
+
});
|
|
5135
|
+
}
|
|
5136
|
+
|
|
5071
5137
|
// src/controls/transition-control/transition-selector.tsx
|
|
5072
5138
|
import * as React89 from "react";
|
|
5073
5139
|
import { useRef as useRef23 } from "react";
|
|
@@ -5225,6 +5291,7 @@ var disableAddItemTooltipContent = /* @__PURE__ */ React90.createElement(
|
|
|
5225
5291
|
/* @__PURE__ */ React90.createElement(AlertTitle2, null, __47("Transitions", "elementor")),
|
|
5226
5292
|
/* @__PURE__ */ React90.createElement(Box18, { component: "span" }, /* @__PURE__ */ React90.createElement(Typography6, { variant: "body2" }, __47("Switch to 'Normal' state to add a transition.", "elementor")))
|
|
5227
5293
|
);
|
|
5294
|
+
subscribeToTransitionEvent();
|
|
5228
5295
|
var TransitionRepeaterControl = createControl(
|
|
5229
5296
|
({
|
|
5230
5297
|
recentlyUsedListGetter,
|