diff --git a/packages/twenty-front-component-renderer/src/constants/SerializedEventData.ts b/packages/twenty-front-component-renderer/src/constants/SerializedEventData.ts index 7e5bb4d3b01..ab4e4b19b9a 100644 --- a/packages/twenty-front-component-renderer/src/constants/SerializedEventData.ts +++ b/packages/twenty-front-component-renderer/src/constants/SerializedEventData.ts @@ -1,3 +1,17 @@ +export type SerializedEventTarget = { + value?: string; + checked?: boolean; + scrollTop?: number; + scrollLeft?: number; + currentTime?: number; + duration?: number; + paused?: boolean; + ended?: boolean; + volume?: number; + muted?: boolean; + playbackRate?: number; +}; + export type SerializedEventData = { type: string; altKey?: boolean; @@ -34,4 +48,5 @@ export type SerializedEventData = { volume?: number; muted?: boolean; playbackRate?: number; + target?: SerializedEventTarget; }; diff --git a/packages/twenty-front-component-renderer/src/host/utils/createHtmlHostWrapper.ts b/packages/twenty-front-component-renderer/src/host/utils/createHtmlHostWrapper.ts index 80e5c68b1b2..a8cf2c0f471 100644 --- a/packages/twenty-front-component-renderer/src/host/utils/createHtmlHostWrapper.ts +++ b/packages/twenty-front-component-renderer/src/host/utils/createHtmlHostWrapper.ts @@ -135,6 +135,21 @@ const serializeEvent = (event: unknown): SerializedEventData => { if ('playbackRate' in target && typeof target.playbackRate === 'number') { serialized.playbackRate = target.playbackRate; } + + // Add target property for React-compatible event patterns (event.detail.target.value) + serialized.target = { + value: serialized.value, + checked: serialized.checked, + scrollTop: serialized.scrollTop, + scrollLeft: serialized.scrollLeft, + currentTime: serialized.currentTime, + duration: serialized.duration, + paused: serialized.paused, + ended: serialized.ended, + volume: serialized.volume, + muted: serialized.muted, + playbackRate: serialized.playbackRate, + }; } return serialized;