@elementor/editor-interactions 4.1.0-732 → 4.1.0-733

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.d.mts CHANGED
@@ -261,4 +261,24 @@ declare const formatSizeValue: ({ size, unit }: SizeValue) => SizeStringValue;
261
261
 
262
262
  declare const useElementInteractions: (elementId: ElementID) => ElementInteractions;
263
263
 
264
- export { BASE_EASINGS, BASE_EFFECTS, BASE_REPLAY, BASE_TRIGGERS, type CreateInteractionsProviderOptions, DEFAULT_VALUES, EASING_OPTIONS, EFFECT_OPTIONS, ELEMENTS_INTERACTIONS_PROVIDER_KEY_PREFIX, EmptyState, type FieldProps, InteractionsTab, REPEAT_OPTIONS, REPEAT_TOOLTIPS, REPLAY_OPTIONS, type ReplayFieldProps, TRIGGER_OPTIONS, buildDisplayLabel, convertTimeUnit, createAnimationPreset, createBoolean, createConfig, createDefaultInteractionItem, createDefaultInteractions, createExcludedBreakpoints, createInteractionBreakpoints, createInteractionItem, createInteractionsProvider, createNumber, createString, createTimingConfig, extractBoolean, extractExcludedBreakpoints, extractSize, extractString, formatSizeValue, generateTempInteractionId, getInteractionsConfig, init, interactionsRepository, isTempId, parseSizeValue, registerInteractionsControl, resolveDirection, useElementInteractions };
264
+ type ActiveScrollInteraction = {
265
+ start: SizeStringValue;
266
+ end: SizeStringValue;
267
+ relativeTo: string;
268
+ };
269
+ declare const SCROLL_INTERACTION_EVENT = "elementor/interactions/scroll-change";
270
+ declare function dispatchScrollInteraction(data: ActiveScrollInteraction | null): void;
271
+ declare function extractScrollOverlayParams(interaction: InteractionItemValue, defaults: {
272
+ trigger: string;
273
+ start: number;
274
+ end: number;
275
+ relativeTo: string;
276
+ }): {
277
+ trigger: string;
278
+ start: SizeStringValue;
279
+ end: SizeStringValue;
280
+ relativeTo: string;
281
+ };
282
+ declare function syncGridOverlay(trigger: string, start: SizeStringValue, end: SizeStringValue, relativeTo: string): void;
283
+
284
+ export { type ActiveScrollInteraction, BASE_EASINGS, BASE_EFFECTS, BASE_REPLAY, BASE_TRIGGERS, type CreateInteractionsProviderOptions, DEFAULT_VALUES, EASING_OPTIONS, EFFECT_OPTIONS, ELEMENTS_INTERACTIONS_PROVIDER_KEY_PREFIX, EmptyState, type FieldProps, InteractionsTab, REPEAT_OPTIONS, REPEAT_TOOLTIPS, REPLAY_OPTIONS, type ReplayFieldProps, SCROLL_INTERACTION_EVENT, TRIGGER_OPTIONS, buildDisplayLabel, convertTimeUnit, createAnimationPreset, createBoolean, createConfig, createDefaultInteractionItem, createDefaultInteractions, createExcludedBreakpoints, createInteractionBreakpoints, createInteractionItem, createInteractionsProvider, createNumber, createString, createTimingConfig, dispatchScrollInteraction, extractBoolean, extractExcludedBreakpoints, extractScrollOverlayParams, extractSize, extractString, formatSizeValue, generateTempInteractionId, getInteractionsConfig, init, interactionsRepository, isTempId, parseSizeValue, registerInteractionsControl, resolveDirection, syncGridOverlay, useElementInteractions };
package/dist/index.d.ts CHANGED
@@ -261,4 +261,24 @@ declare const formatSizeValue: ({ size, unit }: SizeValue) => SizeStringValue;
261
261
 
262
262
  declare const useElementInteractions: (elementId: ElementID) => ElementInteractions;
263
263
 
264
- export { BASE_EASINGS, BASE_EFFECTS, BASE_REPLAY, BASE_TRIGGERS, type CreateInteractionsProviderOptions, DEFAULT_VALUES, EASING_OPTIONS, EFFECT_OPTIONS, ELEMENTS_INTERACTIONS_PROVIDER_KEY_PREFIX, EmptyState, type FieldProps, InteractionsTab, REPEAT_OPTIONS, REPEAT_TOOLTIPS, REPLAY_OPTIONS, type ReplayFieldProps, TRIGGER_OPTIONS, buildDisplayLabel, convertTimeUnit, createAnimationPreset, createBoolean, createConfig, createDefaultInteractionItem, createDefaultInteractions, createExcludedBreakpoints, createInteractionBreakpoints, createInteractionItem, createInteractionsProvider, createNumber, createString, createTimingConfig, extractBoolean, extractExcludedBreakpoints, extractSize, extractString, formatSizeValue, generateTempInteractionId, getInteractionsConfig, init, interactionsRepository, isTempId, parseSizeValue, registerInteractionsControl, resolveDirection, useElementInteractions };
264
+ type ActiveScrollInteraction = {
265
+ start: SizeStringValue;
266
+ end: SizeStringValue;
267
+ relativeTo: string;
268
+ };
269
+ declare const SCROLL_INTERACTION_EVENT = "elementor/interactions/scroll-change";
270
+ declare function dispatchScrollInteraction(data: ActiveScrollInteraction | null): void;
271
+ declare function extractScrollOverlayParams(interaction: InteractionItemValue, defaults: {
272
+ trigger: string;
273
+ start: number;
274
+ end: number;
275
+ relativeTo: string;
276
+ }): {
277
+ trigger: string;
278
+ start: SizeStringValue;
279
+ end: SizeStringValue;
280
+ relativeTo: string;
281
+ };
282
+ declare function syncGridOverlay(trigger: string, start: SizeStringValue, end: SizeStringValue, relativeTo: string): void;
283
+
284
+ export { type ActiveScrollInteraction, BASE_EASINGS, BASE_EFFECTS, BASE_REPLAY, BASE_TRIGGERS, type CreateInteractionsProviderOptions, DEFAULT_VALUES, EASING_OPTIONS, EFFECT_OPTIONS, ELEMENTS_INTERACTIONS_PROVIDER_KEY_PREFIX, EmptyState, type FieldProps, InteractionsTab, REPEAT_OPTIONS, REPEAT_TOOLTIPS, REPLAY_OPTIONS, type ReplayFieldProps, SCROLL_INTERACTION_EVENT, TRIGGER_OPTIONS, buildDisplayLabel, convertTimeUnit, createAnimationPreset, createBoolean, createConfig, createDefaultInteractionItem, createDefaultInteractions, createExcludedBreakpoints, createInteractionBreakpoints, createInteractionItem, createInteractionsProvider, createNumber, createString, createTimingConfig, dispatchScrollInteraction, extractBoolean, extractExcludedBreakpoints, extractScrollOverlayParams, extractSize, extractString, formatSizeValue, generateTempInteractionId, getInteractionsConfig, init, interactionsRepository, isTempId, parseSizeValue, registerInteractionsControl, resolveDirection, syncGridOverlay, useElementInteractions };
package/dist/index.js CHANGED
@@ -43,6 +43,7 @@ __export(index_exports, {
43
43
  REPEAT_OPTIONS: () => REPEAT_OPTIONS,
44
44
  REPEAT_TOOLTIPS: () => REPEAT_TOOLTIPS,
45
45
  REPLAY_OPTIONS: () => REPLAY_OPTIONS,
46
+ SCROLL_INTERACTION_EVENT: () => SCROLL_INTERACTION_EVENT,
46
47
  TRIGGER_OPTIONS: () => TRIGGER_OPTIONS,
47
48
  buildDisplayLabel: () => buildDisplayLabel,
48
49
  convertTimeUnit: () => convertTimeUnit,
@@ -58,8 +59,10 @@ __export(index_exports, {
58
59
  createNumber: () => createNumber,
59
60
  createString: () => createString,
60
61
  createTimingConfig: () => createTimingConfig,
62
+ dispatchScrollInteraction: () => dispatchScrollInteraction,
61
63
  extractBoolean: () => extractBoolean,
62
64
  extractExcludedBreakpoints: () => extractExcludedBreakpoints,
65
+ extractScrollOverlayParams: () => extractScrollOverlayParams,
63
66
  extractSize: () => extractSize,
64
67
  extractString: () => extractString,
65
68
  formatSizeValue: () => formatSizeValue,
@@ -71,6 +74,7 @@ __export(index_exports, {
71
74
  parseSizeValue: () => parseSizeValue,
72
75
  registerInteractionsControl: () => registerInteractionsControl,
73
76
  resolveDirection: () => resolveDirection,
77
+ syncGridOverlay: () => syncGridOverlay,
74
78
  useElementInteractions: () => useElementInteractions
75
79
  });
76
80
  module.exports = __toCommonJS(index_exports);
@@ -663,11 +667,26 @@ function useInteractionItemContext() {
663
667
  return context;
664
668
  }
665
669
 
666
- // src/components/interactions-list-item.tsx
667
- var React9 = __toESM(require("react"));
668
- var import_react8 = require("react");
669
- var import_ui5 = require("@elementor/ui");
670
- var import_i18n4 = require("@wordpress/i18n");
670
+ // src/utils/scroll-interaction-event.ts
671
+ var SCROLL_INTERACTION_EVENT = "elementor/interactions/scroll-change";
672
+ function dispatchScrollInteraction(data) {
673
+ window.dispatchEvent(new CustomEvent(SCROLL_INTERACTION_EVENT, { detail: data }));
674
+ }
675
+ function extractScrollOverlayParams(interaction, defaults) {
676
+ return {
677
+ trigger: extractString(interaction.trigger, defaults.trigger),
678
+ start: extractSize(interaction.animation.value.config?.value.start, defaults.start),
679
+ end: extractSize(interaction.animation.value.config?.value.end, defaults.end),
680
+ relativeTo: extractString(interaction.animation.value.config?.value.relativeTo, defaults.relativeTo)
681
+ };
682
+ }
683
+ function syncGridOverlay(trigger, start, end, relativeTo) {
684
+ if (trigger === "scrollOn") {
685
+ dispatchScrollInteraction({ start, end, relativeTo });
686
+ } else {
687
+ dispatchScrollInteraction(null);
688
+ }
689
+ }
671
690
 
672
691
  // src/components/interaction-details.tsx
673
692
  var React7 = __toESM(require("react"));
@@ -896,6 +915,12 @@ var InteractionDetails = ({ interaction, onChange, onPlayInteraction }) => {
896
915
  })
897
916
  };
898
917
  onChange(updatedInteraction);
918
+ syncGridOverlay(
919
+ updates.trigger ?? trigger,
920
+ updates.start ?? start,
921
+ updates.end ?? end,
922
+ updates.relativeTo ?? relativeTo
923
+ );
899
924
  const interactionId = extractString(updatedInteraction.interaction_id);
900
925
  setTimeout(() => {
901
926
  onPlayInteraction(interactionId);
@@ -972,6 +997,12 @@ var InteractionDetails = ({ interaction, onChange, onPlayInteraction }) => {
972
997
  ))));
973
998
  };
974
999
 
1000
+ // src/components/interactions-list-item.tsx
1001
+ var React9 = __toESM(require("react"));
1002
+ var import_react8 = require("react");
1003
+ var import_ui5 = require("@elementor/ui");
1004
+ var import_i18n4 = require("@wordpress/i18n");
1005
+
975
1006
  // src/components/interaction-settings.tsx
976
1007
  var React8 = __toESM(require("react"));
977
1008
  var import_react7 = require("react");
@@ -1162,6 +1193,14 @@ function InteractionsList(props) {
1162
1193
  Label: ({ value }) => buildDisplayLabel(value.value),
1163
1194
  Icon: () => null,
1164
1195
  Content: InteractionsListItem,
1196
+ onPopoverOpen: (value) => {
1197
+ const { trigger, start, end, relativeTo } = extractScrollOverlayParams(
1198
+ value.value,
1199
+ DEFAULT_VALUES
1200
+ );
1201
+ syncGridOverlay(trigger, start, end, relativeTo);
1202
+ },
1203
+ onPopoverClose: () => dispatchScrollInteraction(null),
1165
1204
  actions: (value) => /* @__PURE__ */ React10.createElement(import_ui6.Tooltip, { key: "preview", placement: "top", title: (0, import_i18n5.__)("Preview", "elementor") }, /* @__PURE__ */ React10.createElement(
1166
1205
  import_ui6.IconButton,
1167
1206
  {
@@ -2269,6 +2308,7 @@ function init() {
2269
2308
  REPEAT_OPTIONS,
2270
2309
  REPEAT_TOOLTIPS,
2271
2310
  REPLAY_OPTIONS,
2311
+ SCROLL_INTERACTION_EVENT,
2272
2312
  TRIGGER_OPTIONS,
2273
2313
  buildDisplayLabel,
2274
2314
  convertTimeUnit,
@@ -2284,8 +2324,10 @@ function init() {
2284
2324
  createNumber,
2285
2325
  createString,
2286
2326
  createTimingConfig,
2327
+ dispatchScrollInteraction,
2287
2328
  extractBoolean,
2288
2329
  extractExcludedBreakpoints,
2330
+ extractScrollOverlayParams,
2289
2331
  extractSize,
2290
2332
  extractString,
2291
2333
  formatSizeValue,
@@ -2297,6 +2339,7 @@ function init() {
2297
2339
  parseSizeValue,
2298
2340
  registerInteractionsControl,
2299
2341
  resolveDirection,
2342
+ syncGridOverlay,
2300
2343
  useElementInteractions
2301
2344
  });
2302
2345
  //# sourceMappingURL=index.js.map