diff --git a/src/routes/(editor)/experimental.tsx b/src/routes/(editor)/experimental.tsx
index 5ddac59..171a55a 100644
--- a/src/routes/(editor)/experimental.tsx
+++ b/src/routes/(editor)/experimental.tsx
@@ -17,7 +17,8 @@ export default function Experimental(props: ParentProps) {
-
+
+
}>
diff --git a/src/routes/(editor)/experimental/formatter.module.css b/src/routes/(editor)/experimental/editor.module.css
similarity index 100%
rename from src/routes/(editor)/experimental/formatter.module.css
rename to src/routes/(editor)/experimental/editor.module.css
diff --git a/src/routes/(editor)/experimental/formatter.tsx b/src/routes/(editor)/experimental/editor.tsx
similarity index 83%
rename from src/routes/(editor)/experimental/formatter.tsx
rename to src/routes/(editor)/experimental/editor.tsx
index 4c9546a..25e2090 100644
--- a/src/routes/(editor)/experimental/formatter.tsx
+++ b/src/routes/(editor)/experimental/editor.tsx
@@ -1,8 +1,7 @@
-import { createEffect, createSignal } from "solid-js";
+import { createSignal } from "solid-js";
import { debounce } from "@solid-primitives/scheduled";
-import { Textarea } from "~/components/textarea";
-import css from './formatter.module.css';
import { Editor, useEditor } from "~/features/editor";
+import css from './editor.module.css';
const tempVal = `
# Header
@@ -37,11 +36,10 @@ export default function Formatter(props: {}) {
return
- {/*
-
- */}
-
+
+
+
;
}
diff --git a/src/routes/(editor)/experimental/textarea.module.css b/src/routes/(editor)/experimental/textarea.module.css
new file mode 100644
index 0000000..213165f
--- /dev/null
+++ b/src/routes/(editor)/experimental/textarea.module.css
@@ -0,0 +1,50 @@
+.root {
+ position: relative;
+ margin: 1em;
+ padding: .5em;
+ gap: 1em;
+ display: grid;
+
+ grid: 100% / repeat(2, minmax(0, 1fr));
+
+ inline-size: calc(100% - 2em);
+ block-size: calc(100% - 2em);
+
+ place-content: start;
+ background-color: var(--surface-500);
+ border-radius: var(--radii-xl);
+
+ & > :is(textarea, .textarea) {
+ overflow: auto;
+ padding: .5em;
+ background-color: transparent;
+ }
+
+ & ::highlight(search-results) {
+ background-color: var(--secondary-900);
+ }
+
+ & ::highlight(spelling-error) {
+ text-decoration-line: spelling-error;
+ }
+
+ & ::highlight(grammar-error) {
+ text-decoration-line: grammar-error;
+ }
+
+ .search {
+ position: absolute;
+ inset-inline-end: 0;
+ inset-block-start: 0;
+
+ display: block grid;
+ grid-auto-flow: row;
+
+ padding: .5em;
+ gap: .5em;
+
+ background-color: var(--surface-700);
+ border-radius: var(--radii-m);
+ box-shadow: var(--shadow-2);
+ }
+}
\ No newline at end of file
diff --git a/src/routes/(editor)/experimental/textarea.tsx b/src/routes/(editor)/experimental/textarea.tsx
new file mode 100644
index 0000000..e638b27
--- /dev/null
+++ b/src/routes/(editor)/experimental/textarea.tsx
@@ -0,0 +1,41 @@
+import { createSignal } from "solid-js";
+import { debounce } from "@solid-primitives/scheduled";
+import { Textarea } from "~/components/textarea";
+import css from './textarea.module.css';
+
+const tempVal = `
+# Header
+
+this is **a string** that contains bolded text
+
+this is *a string* that contains italicized text
+
+> Dorothy followed her through many of the beautiful rooms in her castle.
+
+> #### The quarterly results look great!
+>
+> - Revenue was off the chart.
+> - Profits were higher than ever.
+>
+> > The Witch bade her clean the pots and kettles and sweep the floor and keep the fire fed with wood.
+>
+> *Everything* is going according to **plan**.
+
+- First item
+- Second item
+- Third item
+- Fourth item
+`;
+
+export default function Formatter(props: {}) {
+ const [value, setValue] = createSignal(tempVal);
+
+ const onInput = debounce((e: InputEvent) => {
+ setValue((e.target! as HTMLTextAreaElement).value);
+ }, 300);
+
+ return
+
+
+
;
+}
\ No newline at end of file