closes #7425
Uses a new ensure_array_like function to use Array.from in case the variable doesn't have a length property ('length' in 'some string' fails, therefore obj?.length). This ensures other places can stay unmodified. Using for (const x of y) constructs would require large changes across the each block code where it's uncertain that it would work for all cases since the array length is needed in various places.
`classList.toggle(..., flag)` has been a part of the DOM standard forever,
so better use it instead of possibly causing browser deopts by using dynamic attribute access.
The `!!` is required because an `undefined` flag means flipping the current state.
---------
Co-authored-by: Dominik G <dominik.goepel@gmx.de>
Co-authored-by: Ben McCann <322311+benmccann@users.noreply.github.com>
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
Co-authored-by: Rich Harris <hello@rich-harris.dev>
that way they are invisible to assistive technology and can't be interacted with, which makes sense since the element is already "dead" and only transitioning out at this point
closes #8445
* New FAQ, new renderer
* Push blog stuff
* Fix blog posts
* Add tutorial to be rendered
* Update documentation/content/blog/2023-03-09-zero-config-type-safety.md
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
* Update documentation/content/blog/2023-03-09-zero-config-type-safety.md
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
* Revamp a lot of renderer, make it (soft) compatible with sveltekit
* Remove markdown types
* Clean up faq +page
* Document stuff
* Make the options more explicity
* chore(site-2): Restructure docs pt 2 (#8604)
* Push
* Update readme
* Push
* inor accessibility fix
* minr stuff
* Add prepare
* Run prettier
* Remove test script
* pnpm update
* Update sites/svelte.dev/src/routes/examples/[slug]/+page.svelte
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
* Update sites/svelte.dev/package.json
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
---------
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
---------
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
- remove esm bundle step
- introduce generated version.js because we can no longer use replace because we don't bundle esm
- remove register hook, cjs compiler output and cjs runtime
- keep umd compiler version for prettier/eslint/browser but without sourcemaps
- move devdependencies to dependencies where necessary
- various cleanup
---------
Co-authored-by: Ben McCann <322311+benmccann@users.noreply.github.com>
Co-authored-by: gtmnayan <50981692+gtm-nayan@users.noreply.github.com>
- shard runtime tests for better use of Vite's test parallelization
- merge custom element and other browser tests to run in one test suite and use esbuild in it
- on some setups only generate code output when test fails
Also swap out the require hook hacks with a less-hacky-but-still-somewhat-hacky loader for the Svelte files
---------
Co-authored-by: Simon Holthausen <simon.holthausen@vercel.com>
Co-authored-by: Rich Harris <richard.a.harris@gmail.com>