Fixes#14072
`:has()` was matching only against descendants or siblings, but not sibling's descendants. This makes the logic be able to go forward or backwards, simplifying a lot of cases along the way.
For instance, specifying a tree-structural pseudo-class to
`::view-transition-new` should still constitute a valid global-like
selector.
Fixes#15312
---------
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
* ix: ensure transient writes to tracked parent effects works as expected
* lint
* format test
* tweak changeset
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
Fixes#14579
Although this isn't 100% correct because there's no `group` attribute, there's no better way to make people have components' props just be `HTMLInputAttributes` and allow them to reference `group`
* fix: on teardown, use the last known value for the signal before the se
* fix: on teardown, use the last known value for the signal before the se
* fix: on teardown, use the last known value for the signal before the se
* fix: on teardown, use the last known value for the signal before the se
* fix: on teardown, use the last known value for the signal before the se
* Update packages/svelte/src/internal/client/reactivity/props.js
Co-authored-by: Rich Harris <rich.harris@vercel.com>
* Update packages/svelte/src/internal/client/reactivity/props.js
Co-authored-by: Rich Harris <rich.harris@vercel.com>
* Update packages/svelte/src/internal/client/reactivity/props.js
Co-authored-by: Rich Harris <rich.harris@vercel.com>
* lint
* lint
* lint
* Update .changeset/sharp-elephants-invite.md
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
* fix null and warning for local handlers
* test
* changeset
* treat `let handler = () => {...}` the same as `function handler() {...}`
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
* docs: address $effect feedback
* also add a note to the migration guide
* minor wording tweak
* update onMount docs
* Update documentation/docs/02-runes/05-$effect.md
Co-authored-by: Rich Harris <rich.harris@vercel.com>
* restore order
* soften a bit
* add back mention of updating template in response to effects
* define parent effect
* state that they don't run on the server
* Update documentation/docs/02-runes/04-$effect.md
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
* format
* Apply suggestions from code review
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
* update onMount docs
* add 'Understanding lifecycle' section
* note
* tweak wording
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
* add style attribute when needed
* set_style()
* to_style()
* remove `style=""`
* use cssTest for perfs
* base test
* test
* changeset
* revert dom.style.cssText
* format name
* use style.cssText + adapt test
* Apply suggestions from code review
suggestions from dummdidumm
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
* fix priority
* lint
* yawn
* update test
* we can simplify some stuff now
* simplify
* more
* simplify some more
* more
* more
* more
* more
* more
* remove continue
* tweak
* tweak
* tweak
* skip hash argument where possible
* tweak
* tweak
* tweak
* tweak
---------
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
Co-authored-by: Rich Harris <rich.harris@vercel.com>
* style must be set via set_attribute
* test
* changeset
* add empty string and null in test
* explanatory comment
* this is now redundant, set_attribute takes care of it
* drive-by
* tweak changeset
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
* set_attributes for <svelte:element>
* changeset
* Update .changeset/wise-hats-wonder.md
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
* add changeset
* remove `chore` changeset — no need for non-user-facing changes to appear in changelog
* Update packages/svelte/src/compiler/phases/3-transform/client/visitors/shared/element.js
* determine element traits inside set_attributes
* unused
* stash lookup
---------
Co-authored-by: adiguba <frederic.martini@gmail.com>
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
* fix: correctly set `is_updating` before flushing root effects
* rename for consistency with update_effect
* use var
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
This ensures someone like Astro can render multiple islands and the unique ids produced in them are able to be deduplicated
---------
Co-authored-by: Hugos68 <hugokorteapple@gmail.com>
Co-authored-by: paoloricciuti <ricciutipaolo@gmail.com>
Co-authored-by: Simon Holthausen <simon.holthausen@vercel.com>
* fix: catch error on @const tag in svelte:boundary
* changeset
* edit changeset
* test
* fix
* rollback
* simpler way to do that
* rollback
* roolback again
---------
Co-authored-by: paoloricciuti <ricciutipaolo@gmail.com>