"
-}
\ No newline at end of file
diff --git a/site/content/examples/20-miscellaneous/02-immutable-data/App.svelte b/site/content/examples/20-miscellaneous/02-immutable-data/App.svelte
index e81d781677..a7ce32cc55 100644
--- a/site/content/examples/20-miscellaneous/02-immutable-data/App.svelte
+++ b/site/content/examples/20-miscellaneous/02-immutable-data/App.svelte
@@ -29,16 +29,10 @@
Immutable
{#each todos as todo}
-
+
{/each}
Mutable
{#each todos as todo}
-
+
{/each}
diff --git a/site/content/examples/20-miscellaneous/02-immutable-data/ImmutableTodo.svelte b/site/content/examples/20-miscellaneous/02-immutable-data/ImmutableTodo.svelte
index 60992c61cb..fdf1ca7ce0 100644
--- a/site/content/examples/20-miscellaneous/02-immutable-data/ImmutableTodo.svelte
+++ b/site/content/examples/20-miscellaneous/02-immutable-data/ImmutableTodo.svelte
@@ -5,11 +5,24 @@
import flash from './flash.js';
export let todo;
- let span;
+ export let toggle;
- flash(() => span);
+ let div;
+
+ afterUpdate(() => {
+ flash(div);
+ });
+
+
-{todo.text}
+ the `todo` object changes -->
+
+ {todo.done ? '👍': ''} {todo.text}
+
diff --git a/site/content/examples/20-miscellaneous/02-immutable-data/MutableTodo.svelte b/site/content/examples/20-miscellaneous/02-immutable-data/MutableTodo.svelte
index 948aaea805..801a6dcbd3 100644
--- a/site/content/examples/20-miscellaneous/02-immutable-data/MutableTodo.svelte
+++ b/site/content/examples/20-miscellaneous/02-immutable-data/MutableTodo.svelte
@@ -3,11 +3,24 @@
import flash from './flash.js';
export let todo;
- let span;
+ export let toggle;
- flash(() => span);
+ let div;
+
+ afterUpdate(() => {
+ flash(div);
+ });
+
+
-{todo.text}
+ the `todo` object changes -->
+
+ {todo.done ? '👍': ''} {todo.text}
+
diff --git a/site/content/examples/20-miscellaneous/02-immutable-data/flash.js b/site/content/examples/20-miscellaneous/02-immutable-data/flash.js
index d8c251f32a..8dff9cbe2f 100644
--- a/site/content/examples/20-miscellaneous/02-immutable-data/flash.js
+++ b/site/content/examples/20-miscellaneous/02-immutable-data/flash.js
@@ -1,13 +1,11 @@
-import { afterUpdate } from 'svelte';
+export default function flash(element) {
+ element.style.transition = 'none';
+ element.style.color = 'rgba(255,62,0,1)';
+ element.style.backgroundColor = 'rgba(255,62,0,0.2)';
-export default function flash(fn) {
- afterUpdate(() => {
- const span = fn();
-
- span.style.color = 'red';
-
- setTimeout(() => {
- span.style.color = 'black';
- }, 400);
+ setTimeout(() => {
+ element.style.transition = 'color 1s, background 1s';
+ element.style.color = '';
+ element.style.backgroundColor = '';
});
}
\ No newline at end of file
diff --git a/site/content/tutorial/16-special-elements/07-svelte-options/app-a/App.svelte b/site/content/tutorial/16-special-elements/07-svelte-options/app-a/App.svelte
index e0051449ee..298526902d 100644
--- a/site/content/tutorial/16-special-elements/07-svelte-options/app-a/App.svelte
+++ b/site/content/tutorial/16-special-elements/07-svelte-options/app-a/App.svelte
@@ -1,14 +1,30 @@
+ import Todo from './Todo.svelte';
+
+ let todos = [
+ { id: 1, done: true, text: 'wash the car' },
+ { id: 2, done: false, text: 'take the dog for a walk' },
+ { id: 3, done: false, text: 'mow the lawn' }
+ ];
-
+
-
\ No newline at end of file
+Todos
+{#each todos as todo}
+ toggle(todo)}/>
+{/each}
\ No newline at end of file
diff --git a/site/content/tutorial/16-special-elements/07-svelte-options/app-a/Square.svelte b/site/content/tutorial/16-special-elements/07-svelte-options/app-a/Square.svelte
deleted file mode 100644
index 3019ee9542..0000000000
--- a/site/content/tutorial/16-special-elements/07-svelte-options/app-a/Square.svelte
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
diff --git a/site/content/tutorial/16-special-elements/07-svelte-options/app-a/Todo.svelte b/site/content/tutorial/16-special-elements/07-svelte-options/app-a/Todo.svelte
new file mode 100644
index 0000000000..dae595e7d0
--- /dev/null
+++ b/site/content/tutorial/16-special-elements/07-svelte-options/app-a/Todo.svelte
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+ {todo.done ? '👍': ''} {todo.text}
+
diff --git a/site/content/tutorial/16-special-elements/07-svelte-options/app-a/flash.js b/site/content/tutorial/16-special-elements/07-svelte-options/app-a/flash.js
new file mode 100644
index 0000000000..8dff9cbe2f
--- /dev/null
+++ b/site/content/tutorial/16-special-elements/07-svelte-options/app-a/flash.js
@@ -0,0 +1,11 @@
+export default function flash(element) {
+ element.style.transition = 'none';
+ element.style.color = 'rgba(255,62,0,1)';
+ element.style.backgroundColor = 'rgba(255,62,0,0.2)';
+
+ setTimeout(() => {
+ element.style.transition = 'color 1s, background 1s';
+ element.style.color = '';
+ element.style.backgroundColor = '';
+ });
+}
\ No newline at end of file
diff --git a/site/content/tutorial/16-special-elements/07-svelte-options/app-b/App.svelte b/site/content/tutorial/16-special-elements/07-svelte-options/app-b/App.svelte
index e0051449ee..298526902d 100644
--- a/site/content/tutorial/16-special-elements/07-svelte-options/app-b/App.svelte
+++ b/site/content/tutorial/16-special-elements/07-svelte-options/app-b/App.svelte
@@ -1,14 +1,30 @@
+ import Todo from './Todo.svelte';
+
+ let todos = [
+ { id: 1, done: true, text: 'wash the car' },
+ { id: 2, done: false, text: 'take the dog for a walk' },
+ { id: 3, done: false, text: 'mow the lawn' }
+ ];
-
+
-
\ No newline at end of file
+Todos
+{#each todos as todo}
+ toggle(todo)}/>
+{/each}
\ No newline at end of file
diff --git a/site/content/tutorial/16-special-elements/07-svelte-options/app-b/Square.svelte b/site/content/tutorial/16-special-elements/07-svelte-options/app-b/Square.svelte
deleted file mode 100644
index 38f26d1dba..0000000000
--- a/site/content/tutorial/16-special-elements/07-svelte-options/app-b/Square.svelte
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
diff --git a/site/content/tutorial/16-special-elements/07-svelte-options/app-b/Todo.svelte b/site/content/tutorial/16-special-elements/07-svelte-options/app-b/Todo.svelte
new file mode 100644
index 0000000000..447ddc601c
--- /dev/null
+++ b/site/content/tutorial/16-special-elements/07-svelte-options/app-b/Todo.svelte
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+ {todo.done ? '👍': ''} {todo.text}
+
diff --git a/site/content/tutorial/16-special-elements/07-svelte-options/app-b/flash.js b/site/content/tutorial/16-special-elements/07-svelte-options/app-b/flash.js
new file mode 100644
index 0000000000..8dff9cbe2f
--- /dev/null
+++ b/site/content/tutorial/16-special-elements/07-svelte-options/app-b/flash.js
@@ -0,0 +1,11 @@
+export default function flash(element) {
+ element.style.transition = 'none';
+ element.style.color = 'rgba(255,62,0,1)';
+ element.style.backgroundColor = 'rgba(255,62,0,0.2)';
+
+ setTimeout(() => {
+ element.style.transition = 'color 1s, background 1s';
+ element.style.color = '';
+ element.style.backgroundColor = '';
+ });
+}
\ No newline at end of file
diff --git a/site/content/tutorial/16-special-elements/07-svelte-options/text.md b/site/content/tutorial/16-special-elements/07-svelte-options/text.md
index 91f08ce959..60a9d3b0f8 100644
--- a/site/content/tutorial/16-special-elements/07-svelte-options/text.md
+++ b/site/content/tutorial/16-special-elements/07-svelte-options/text.md
@@ -4,12 +4,20 @@ title:
Lastly, `` allows you to specify compiler options.
-Here, we have a component inside an `