Augustine Kim
Augustine Kim
i'm seeing this as well. stackblitz repro: https://stackblitz.com/edit/vitejs-vite-yu7z8h5b?file=src%2Fmy-element.ts clicking the track stops emitting `input` events if the handle has already been interacted with. https://github.com/user-attachments/assets/36fbe5c3-2eb0-4d35-be69-a6d02797ef4d
This appears to only happen with `editable` sliders. I've narrowed down the source of the bug to here: https://github.com/adobe/spectrum-web-components/blob/cc6e91eca2b5d84769d2ed42758299e2ec57e3b2/packages/slider/src/HandleController.ts#L123-L132 It appears `input.valueAsNumber === handle.value` starts becoming false after the handle...
is it really a big problem that the setter is invoked? based on the comment in https://github.com/lit/lit/blob/fbda6d7b42b8acd19b388e9de0be3521da6b58bb/packages/react/src/create-component.ts#L174-L175 this seems to be the intended behavior, where the web component itself is...
This is a tricky situation to handle. The wrapper withholds props that are found in the element's prototype so they won't be set as attributes by React. This is normally...
> the component renders twice on mount, once without any properties. This is likely unavoidable until https://github.com/facebook/react/issues/11347 lands as we can only set properties on the element once we have...
Hm.. that would require the wrapper to return something else like an empty `` to React, and imperatively create the custom element and mutate the DOM node with it in...
That's definitely a valid concern. Currently with `@lit-labs/ssr-react` it's possible that attributes would be inlined for reflecting properties when server rendered so initial render on the client will have it....
Alternatively, we make the wrapper more Lit / ReactiveElement specific, and we dig into property options for the class to find which ones should immediately reflect to attribute and pass...
I think part of it is that a well authored web component should be able to take "required" initial values it needs as attributes since that's the only way to...
Thank you @sorvell ! I think that's a reasonable low-risk solution that doesn't involve extra options or property option inspection. First render detection likely can be done with `elementRef.current ===...