summaryrefslogtreecommitdiff
path: root/examples/with-markdown/src/components
diff options
context:
space:
mode:
Diffstat (limited to 'examples/with-markdown/src/components')
-rw-r--r--examples/with-markdown/src/components/PreactCounter.tsx20
-rw-r--r--examples/with-markdown/src/components/ReactCounter.jsx19
-rw-r--r--examples/with-markdown/src/components/SvelteCounter.svelte22
-rw-r--r--examples/with-markdown/src/components/VueCounter.vue27
4 files changed, 88 insertions, 0 deletions
diff --git a/examples/with-markdown/src/components/PreactCounter.tsx b/examples/with-markdown/src/components/PreactCounter.tsx
new file mode 100644
index 000000000..e3761643f
--- /dev/null
+++ b/examples/with-markdown/src/components/PreactCounter.tsx
@@ -0,0 +1,20 @@
+import { h, Fragment } from 'preact';
+import { useState } from 'preact/hooks';
+
+/** a counter written in Preact */
+export default function PreactCounter({ children }) {
+ const [count, setCount] = useState(0);
+ const add = () => setCount((i) => i + 1);
+ const subtract = () => setCount((i) => i - 1);
+
+ return (
+ <>
+ <div className="counter">
+ <button onClick={subtract}>-</button>
+ <pre>{count}</pre>
+ <button onClick={add}>+</button>
+ </div>
+ <div className="children">{children}</div>
+ </>
+ );
+}
diff --git a/examples/with-markdown/src/components/ReactCounter.jsx b/examples/with-markdown/src/components/ReactCounter.jsx
new file mode 100644
index 000000000..92871a8d8
--- /dev/null
+++ b/examples/with-markdown/src/components/ReactCounter.jsx
@@ -0,0 +1,19 @@
+import React, { useState } from 'react';
+
+/** a counter written in React */
+export default function ReactCounter({ children }) {
+ const [count, setCount] = useState(0);
+ const add = () => setCount((i) => i + 1);
+ const subtract = () => setCount((i) => i - 1);
+
+ return (
+ <>
+ <div className="counter">
+ <button onClick={subtract}>-</button>
+ <pre>{count}</pre>
+ <button onClick={add}>+</button>
+ </div>
+ <div className="children">{children}</div>
+ </>
+ );
+}
diff --git a/examples/with-markdown/src/components/SvelteCounter.svelte b/examples/with-markdown/src/components/SvelteCounter.svelte
new file mode 100644
index 000000000..8d6b3f5e1
--- /dev/null
+++ b/examples/with-markdown/src/components/SvelteCounter.svelte
@@ -0,0 +1,22 @@
+
+<script>
+ let children;
+ let count = 0;
+
+ function add() {
+ count += 1;
+ }
+
+ function subtract() {
+ count -= 1;
+ }
+</script>
+
+<div class="counter">
+ <button on:click={subtract}>-</button>
+ <pre>{ count }</pre>
+ <button on:click={add}>+</button>
+</div>
+<div class="children">
+ <slot />
+</div>
diff --git a/examples/with-markdown/src/components/VueCounter.vue b/examples/with-markdown/src/components/VueCounter.vue
new file mode 100644
index 000000000..8179fb1d9
--- /dev/null
+++ b/examples/with-markdown/src/components/VueCounter.vue
@@ -0,0 +1,27 @@
+<template>
+ <div class="counter">
+ <button @click="subtract()">-</button>
+ <pre>{{ count }}</pre>
+ <button @click="add()">+</button>
+ </div>
+ <div class="children">
+ <slot />
+ </div>
+</template>
+
+<script>
+import { ref } from 'vue';
+export default {
+ setup() {
+ const count = ref(0)
+ const add = () => count.value = count.value + 1;
+ const subtract = () => count.value = count.value - 1;
+
+ return {
+ count,
+ add,
+ subtract
+ }
+ }
+}
+</script>