svelte-object
Version:
A nested component Svelte 5 Runes pattern for structuring objects/arrays and their properties
57 lines (56 loc) • 2.19 kB
TypeScript
export interface Props<T = unknown> {
name?: string | number;
value?: T | undefined | null;
/** Validate with parent, even if unnamed */
withParent?: boolean;
}
import { type Snippet } from 'svelte';
import type { ValidationEvent, ValidationType } from './validation-types';
declare function $$render<T>(): {
props: Props<T> & {
onValidate?: (validationEvent: ValidationEvent<T>) => void;
children?: Snippet<[props: {
value: Props<T>["value"];
blurValidation: (element: HTMLElement) => {
destroy: () => void;
};
submitOnEnter: (element: HTMLElement) => {
destroy: () => void;
};
attributes?: Record<PropertyKey, any>;
error?: {
message: string;
};
warning?: {
message: string;
};
}]>;
};
exports: {
validate: (trigger?: ValidationType) => boolean;
submit: () => void;
};
bindings: "value";
slots: {};
events: {};
};
declare class __sveltets_Render<T> {
props(): ReturnType<typeof $$render<T>>['props'];
events(): ReturnType<typeof $$render<T>>['events'];
slots(): ReturnType<typeof $$render<T>>['slots'];
bindings(): "value";
exports(): {
validate: (trigger?: ValidationType) => boolean;
submit: () => void;
};
}
interface $$IsomorphicComponent {
new <T>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T>['props']>, ReturnType<__sveltets_Render<T>['events']>, ReturnType<__sveltets_Render<T>['slots']>> & {
$$bindings?: ReturnType<__sveltets_Render<T>['bindings']>;
} & ReturnType<__sveltets_Render<T>['exports']>;
<T>(internal: unknown, props: ReturnType<__sveltets_Render<T>['props']> & {}): ReturnType<__sveltets_Render<T>['exports']>;
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
}
declare const SvelteValue: $$IsomorphicComponent;
type SvelteValue<T> = InstanceType<typeof SvelteValue<T>>;
export default SvelteValue;