You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
svelte-kit-vice/src/uix/eidos/components/field/field.svelte

34 lines
815 B

<script lang="ts">
import { ActiveEidos } from '$uix/eidos';
/**
* Eidos `<Field>` — visual wrapper over Soma's form field primitive.
* Soma owns state, form registration and ARIA; Eidos adds visual attrs.
*/
import * as Field from '$soma/components/field';
import type { FieldProps } from './types';
let {
size = 'md',
variant = 'outline',
orientation = 'vertical',
color = 'primary',
children: bodyContent,
...rest
}: FieldProps = $props();
const eidos = ActiveEidos.require();
const resolvedSize = $derived(eidos.resolve(size, 'md'));
</script>
<Field.Provider
{...rest}
data-size={resolvedSize}
data-variant={variant}
data-orientation={orientation}
data-color={color}
>
{#snippet children(snippetProps)}
{@render bodyContent?.(snippetProps)}
{/snippet}
</Field.Provider>

Powered by TurnKey Linux.