@senka-ai/ui
Version:
A modern, type-safe Svelte 5 UI component library with full theme support, accessibility standards, and robust state management patterns
32 lines • 1.36 kB
TypeScript
import type { FormInputComponent, IconSizeComponent } from '../../type/component';
import { type ValidationRule } from '../../utils/validation.svelte';
interface Props extends Omit<FormInputComponent, 'value'>, IconSizeComponent {
/** Minimum allowed value */
min?: number;
/** Maximum allowed value */
max?: number;
/** Step size for increment/decrement */
step?: number;
/** Current numeric value */
value?: number;
/** Whether to show the increment/decrement buttons */
showButtons?: boolean;
/** Layout of the increment/decrement buttons */
buttonLayout?: 'stacked' | 'horizontal' | 'split';
/** Placeholder text */
placeholder?: string;
/** Input state override */
inputState?: 'default' | 'focused' | 'error' | 'disabled';
/** Whether the field is required */
required?: boolean;
/** Array of validation rules to apply to this field */
validationRules?: ValidationRule<number>[];
/** Whether to show validation errors immediately or only after blur */
validateOnChange?: boolean;
/** Callback fired when value changes */
onchange?: (value: number) => void;
}
declare const NumberInput: import("svelte").Component<Props, {}, "value">;
type NumberInput = ReturnType<typeof NumberInput>;
export default NumberInput;
//# sourceMappingURL=NumberInput.svelte.d.ts.map