+
+ Solid + Vite + TypeScript
+ Login form example
+
+ Email and password fields with field-local Standard Schema validation.
+ Uses useRegister, useFormState, and
+ handleSubmit from the Solid adapter.
+
+
+
+
+ {JSON.stringify({
+ values: form.getValues(),
+ isDirty: state().isDirty,
+ isValid: state().isValid,
+ submitCount: state().submitCount,
+ }, null, 2)}
+
+
+ );
+}
\ No newline at end of file
diff --git a/examples/solid-login-form/src/main.tsx b/examples/solid-login-form/src/main.tsx
new file mode 100644
index 0000000..57cde46
--- /dev/null
+++ b/examples/solid-login-form/src/main.tsx
@@ -0,0 +1,9 @@
+/* @refresh reload */
+import { render } from 'solid-js/web';
+import App from './App';
+
+const root = document.getElementById('root');
+
+if (!root) throw new Error('Root element not found');
+
+render(() =>
+
+ Svelte 5 + Vite + TypeScript
+ Login form example
+
+ Email and password fields with field-local Standard Schema validation.
+ Uses the register action, useFormState readable store,
+ and handleSubmit from the Svelte adapter.
+
+
+
+
+ {JSON.stringify({ values: form.getValues(), isDirty: $state.isDirty, isValid: $state.isValid, submitCount: $state.submitCount }, null, 2)}
+
+
+
+
\ No newline at end of file
diff --git a/examples/svelte-login-form/src/main.ts b/examples/svelte-login-form/src/main.ts
new file mode 100644
index 0000000..1d07ef0
--- /dev/null
+++ b/examples/svelte-login-form/src/main.ts
@@ -0,0 +1,6 @@
+import { mount } from 'svelte';
+import App from './App.svelte';
+
+const app = mount(App, { target: document.getElementById('app')! });
+
+export default app;
\ No newline at end of file
diff --git a/examples/svelte-login-form/src/vite-env.d.ts b/examples/svelte-login-form/src/vite-env.d.ts
new file mode 100644
index 0000000..151aa68
--- /dev/null
+++ b/examples/svelte-login-form/src/vite-env.d.ts
@@ -0,0 +1 @@
+///