Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@remote-dom/[email protected]
Minor Changes
#389
2479b21
Thanks @lemonmade! - Added native support for synchronizing attributes and event listenersPreviously, Remote DOM only offered “remote properties” as a way to synchronize element state between the host and remote environments. These remote properties effectively synchronize a subset of a custom element’s instance properties. The
RemoteElement
class offers a declarative way to define the properties that should be synchronized.The same
remoteProperties
configuration can create special handling for attributes and event listeners. By default, a remote property is automatically updated when setting an attribute of the same name:Similarly, a remote property can be automatically updated when adding an event listener based on a conventional
on
property naming prefix:These utilities are handy, but they don’t align with patterns in native DOM elements, particularly when it comes to events. Now, both of these can be represented in a fashion that is more conventional in HTML. The
remoteAttributes
configuration allows you to define a set of element attributes that will be synchronized directly the host environment, instead of being treated as instance properties:Similarly, the
remoteEvents
configuration allows you to define a set of event listeners that will be synchronized directly with the host environment:The
remoteProperties
configuration will continue to be supported for cases where you want to synchronize instance properties. Because instance properties can be any JavaScript type, properties are the highest-fidelity field that can be synchronized between the remote and host environments. However, adding event listeners using theremoteProperties.event
configuration is deprecated and will be removed in the next major version. You should use theremoteEvents
configuration instead. If you were previously defining remote properties which only accepted strings, consider using theremoteAttributes
configuration, which stores the value entirely in an HTML attribute instead.This change is being released in a backwards-compatible way, so you can continue to use the existing
remoteProperties
configuration on host and/or remote environments without any code changes.All host utilities have been updated to support the new
attributes
andeventListeners
property that are synchronized with the remote environment. This includes updates to the React and Preact hosts to map events to conventional callback props, and updates to theDOMRemoteReceiver
class, which now applies fields to the host element exactly as they were applied in the remote environment:Patch Changes
2479b21
,2479b21
,2479b21
]:@remote-dom/[email protected]
Minor Changes
#389
2479b21
Thanks @lemonmade! - Added native support for synchronizing attributes and event listenersPreviously, Remote DOM only offered “remote properties” as a way to synchronize element state between the host and remote environments. These remote properties effectively synchronize a subset of a custom element’s instance properties. The
RemoteElement
class offers a declarative way to define the properties that should be synchronized.The same
remoteProperties
configuration can create special handling for attributes and event listeners. By default, a remote property is automatically updated when setting an attribute of the same name:Similarly, a remote property can be automatically updated when adding an event listener based on a conventional
on
property naming prefix:These utilities are handy, but they don’t align with patterns in native DOM elements, particularly when it comes to events. Now, both of these can be represented in a fashion that is more conventional in HTML. The
remoteAttributes
configuration allows you to define a set of element attributes that will be synchronized directly the host environment, instead of being treated as instance properties:Similarly, the
remoteEvents
configuration allows you to define a set of event listeners that will be synchronized directly with the host environment:The
remoteProperties
configuration will continue to be supported for cases where you want to synchronize instance properties. Because instance properties can be any JavaScript type, properties are the highest-fidelity field that can be synchronized between the remote and host environments. However, adding event listeners using theremoteProperties.event
configuration is deprecated and will be removed in the next major version. You should use theremoteEvents
configuration instead. If you were previously defining remote properties which only accepted strings, consider using theremoteAttributes
configuration, which stores the value entirely in an HTML attribute instead.This change is being released in a backwards-compatible way, so you can continue to use the existing
remoteProperties
configuration on host and/or remote environments without any code changes.All host utilities have been updated to support the new
attributes
andeventListeners
property that are synchronized with the remote environment. This includes updates to the React and Preact hosts to map events to conventional callback props, and updates to theDOMRemoteReceiver
class, which now applies fields to the host element exactly as they were applied in the remote environment:Patch Changes
#389
2479b21
Thanks @lemonmade! - Bug fixes to event dispatchingstopPropagation
now respected.stopImmediatePropagation
now also stops regular propagation.#389
2479b21
Thanks @lemonmade! - FixEvent.bubbles
andEvent.composedPath()
implementations@remote-dom/[email protected]
Minor Changes
#389
2479b21
Thanks @lemonmade! - Added native support for synchronizing attributes and event listenersPreviously, Remote DOM only offered “remote properties” as a way to synchronize element state between the host and remote environments. These remote properties effectively synchronize a subset of a custom element’s instance properties. The
RemoteElement
class offers a declarative way to define the properties that should be synchronized.The same
remoteProperties
configuration can create special handling for attributes and event listeners. By default, a remote property is automatically updated when setting an attribute of the same name:Similarly, a remote property can be automatically updated when adding an event listener based on a conventional
on
property naming prefix:These utilities are handy, but they don’t align with patterns in native DOM elements, particularly when it comes to events. Now, both of these can be represented in a fashion that is more conventional in HTML. The
remoteAttributes
configuration allows you to define a set of element attributes that will be synchronized directly the host environment, instead of being treated as instance properties:Similarly, the
remoteEvents
configuration allows you to define a set of event listeners that will be synchronized directly with the host environment:The
remoteProperties
configuration will continue to be supported for cases where you want to synchronize instance properties. Because instance properties can be any JavaScript type, properties are the highest-fidelity field that can be synchronized between the remote and host environments. However, adding event listeners using theremoteProperties.event
configuration is deprecated and will be removed in the next major version. You should use theremoteEvents
configuration instead. If you were previously defining remote properties which only accepted strings, consider using theremoteAttributes
configuration, which stores the value entirely in an HTML attribute instead.This change is being released in a backwards-compatible way, so you can continue to use the existing
remoteProperties
configuration on host and/or remote environments without any code changes.All host utilities have been updated to support the new
attributes
andeventListeners
property that are synchronized with the remote environment. This includes updates to the React and Preact hosts to map events to conventional callback props, and updates to theDOMRemoteReceiver
class, which now applies fields to the host element exactly as they were applied in the remote environment:Patch Changes
2479b21
]:@remote-dom/[email protected]
Minor Changes
#389
2479b21
Thanks @lemonmade! - Added native support for synchronizing attributes and event listenersPreviously, Remote DOM only offered “remote properties” as a way to synchronize element state between the host and remote environments. These remote properties effectively synchronize a subset of a custom element’s instance properties. The
RemoteElement
class offers a declarative way to define the properties that should be synchronized.The same
remoteProperties
configuration can create special handling for attributes and event listeners. By default, a remote property is automatically updated when setting an attribute of the same name:Similarly, a remote property can be automatically updated when adding an event listener based on a conventional
on
property naming prefix:These utilities are handy, but they don’t align with patterns in native DOM elements, particularly when it comes to events. Now, both of these can be represented in a fashion that is more conventional in HTML. The
remoteAttributes
configuration allows you to define a set of element attributes that will be synchronized directly the host environment, instead of being treated as instance properties:Similarly, the
remoteEvents
configuration allows you to define a set of event listeners that will be synchronized directly with the host environment:The
remoteProperties
configuration will continue to be supported for cases where you want to synchronize instance properties. Because instance properties can be any JavaScript type, properties are the highest-fidelity field that can be synchronized between the remote and host environments. However, adding event listeners using theremoteProperties.event
configuration is deprecated and will be removed in the next major version. You should use theremoteEvents
configuration instead. If you were previously defining remote properties which only accepted strings, consider using theremoteAttributes
configuration, which stores the value entirely in an HTML attribute instead.This change is being released in a backwards-compatible way, so you can continue to use the existing
remoteProperties
configuration on host and/or remote environments without any code changes.All host utilities have been updated to support the new
attributes
andeventListeners
property that are synchronized with the remote environment. This includes updates to the React and Preact hosts to map events to conventional callback props, and updates to theDOMRemoteReceiver
class, which now applies fields to the host element exactly as they were applied in the remote environment:Patch Changes
2479b21
]:@remote-dom/[email protected]
Minor Changes
#389
2479b21
Thanks @lemonmade! - Added native support for synchronizing attributes and event listenersPreviously, Remote DOM only offered “remote properties” as a way to synchronize element state between the host and remote environments. These remote properties effectively synchronize a subset of a custom element’s instance properties. The
RemoteElement
class offers a declarative way to define the properties that should be synchronized.The same
remoteProperties
configuration can create special handling for attributes and event listeners. By default, a remote property is automatically updated when setting an attribute of the same name:Similarly, a remote property can be automatically updated when adding an event listener based on a conventional
on
property naming prefix:These utilities are handy, but they don’t align with patterns in native DOM elements, particularly when it comes to events. Now, both of these can be represented in a fashion that is more conventional in HTML. The
remoteAttributes
configuration allows you to define a set of element attributes that will be synchronized directly the host environment, instead of being treated as instance properties:Similarly, the
remoteEvents
configuration allows you to define a set of event listeners that will be synchronized directly with the host environment:The
remoteProperties
configuration will continue to be supported for cases where you want to synchronize instance properties. Because instance properties can be any JavaScript type, properties are the highest-fidelity field that can be synchronized between the remote and host environments. However, adding event listeners using theremoteProperties.event
configuration is deprecated and will be removed in the next major version. You should use theremoteEvents
configuration instead. If you were previously defining remote properties which only accepted strings, consider using theremoteAttributes
configuration, which stores the value entirely in an HTML attribute instead.This change is being released in a backwards-compatible way, so you can continue to use the existing
remoteProperties
configuration on host and/or remote environments without any code changes.All host utilities have been updated to support the new
attributes
andeventListeners
property that are synchronized with the remote environment. This includes updates to the React and Preact hosts to map events to conventional callback props, and updates to theDOMRemoteReceiver
class, which now applies fields to the host element exactly as they were applied in the remote environment:Patch Changes
2479b21
]:[email protected]
Patch Changes
2479b21
]:[email protected]
Patch Changes
2479b21
]:[email protected]
Patch Changes
2479b21
]: