0.1.3 #4

Merged
Thilawyn merged 90 commits from next into master 2025-08-23 03:07:28 +02:00
Showing only changes of commit 5fb22ad183 - Show all commits

View File

@@ -1,20 +1,22 @@
import { TextField } from "@radix-ui/themes"
import { Effect } from "effect"
import { Effect, Schema } from "effect"
import { Component } from "effect-fc"
import { useInput } from "effect-fc/hooks"
import { JSX } from "react"
export namespace TextInput {
export interface Props<A, R> extends useInput.Options<A, R>, TextField.RootProps {}
export interface Props<A, R> extends Omit<useInput.Options<A, R>, "schema">, TextField.RootProps {}
}
export class TextInput extends Component.make(
Effect.fnUntraced(function* TextInput <A, R>(props: TextInput.Props<A, R>) {
const input = yield* useInput(props)
return <></>
export const TextInput = <A, R>(schema: Schema.Schema<A, string, R>) => Component.make(
Effect.fnUntraced(function*(props: TextInput.Props<A, R>) {
const input = yield* useInput({ ...props, schema })
return (
<TextField.Root
{...props}
>
</TextField.Root>
)
})
).pipe(
Component.withFunctionComponentSignature<<A, R>(props: TextInput.Props<A, R>) => JSX.Element>()
) {}
TextInput["~Error"]
)