carbon-components-svelte/types/NumberInput/NumberInput.d.ts
Eric Liu db645c30f0
Align v10.35 (#694)
* chore(deps-dev): upgrade carbon-components to v10.35

* feat(tooltip-icon): add icon prop

This allows consumers to pass a Carbon icon as a prop instead of using the default slot.

* fix(tooltip): make screenreader description less verbose

Ref: b5f40d8fc

* feat(search): allow custom search icon

Allows consumers to render a different Carbon icon instead of the default Search16 icon.

* feat(number-input): add hideSteppers prop

Allows consumers to hide the input stepper buttons.

* feat: support expressive styles for Button, UnorderedList, OrderedList

* feat(button): support large size button

Set size to "lg" to use the large size.

* feat(button-skeleton): support xl, lg sizes

* docs(button): add "lg" size to expressive styles example

* feat(file-uploader-item): support field, small sizes

* feat(tooltip-icon): support disabled state
2021-06-26 07:13:28 -07:00

161 lines
2.9 KiB
TypeScript

/// <reference types="svelte" />
import { SvelteComponentTyped } from "svelte";
export type NumberInputTranslationId = "increment" | "decrement";
export interface NumberInputProps
extends svelte.JSX.HTMLAttributes<HTMLElementTagNameMap["input"]> {
/**
* Set the size of the input
*/
size?: "sm" | "xl";
/**
* Specify the input value
* @default ""
*/
value?: number | string;
/**
* Specify the step increment
* @default 1
*/
step?: number;
/**
* Specify the maximum value
*/
max?: number;
/**
* Specify the minimum value
*/
min?: number;
/**
* Set to `true` to enable the light variant
* @default false
*/
light?: boolean;
/**
* Set to `true` for the input to be read-only
* @default false
*/
readonly?: boolean;
/**
* Set to `true` to enable the mobile variant
* @default false
*/
mobile?: boolean;
/**
* Set to `true` to allow for an empty value
* @default false
*/
allowEmpty?: boolean;
/**
* Set to `true` to disable the input
* @default false
*/
disabled?: boolean;
/**
* Set to `true` to hide the input stepper buttons
* @default false
*/
hideSteppers?: boolean;
/**
* Specify the ARIA label for the increment icons
* @default ""
*/
iconDescription?: string;
/**
* Set to `true` to indicate an invalid state
* @default false
*/
invalid?: boolean;
/**
* Specify the invalid state text
* @default ""
*/
invalidText?: string;
/**
* Set to `true` to indicate an warning state
* @default false
*/
warn?: boolean;
/**
* Specify the warning state text
* @default ""
*/
warnText?: string;
/**
* Specify the helper text
* @default ""
*/
helperText?: string;
/**
* Specify the label text
* @default ""
*/
label?: string;
/**
* Set to `true` to visually hide the label text
* @default false
*/
hideLabel?: boolean;
/**
* Override the default translation ids
* @default (id) => defaultTranslations[id]
*/
translateWithId?: (id: NumberInputTranslationId) => string;
/**
* Default translation ids
* @constant
* @default { increment: "increment", decrement: "decrement", }
*/
translationIds?: { increment: "increment"; decrement: "decrement" };
/**
* Set an id for the input element
* @default "ccs-" + Math.random().toString(36)
*/
id?: string;
/**
* Specify a name attribute for the input
*/
name?: string;
/**
* Obtain a reference to the input HTML element
* @default null
*/
ref?: null | HTMLInputElement;
}
export default class NumberInput extends SvelteComponentTyped<
NumberInputProps,
{
change: CustomEvent<number>;
click: WindowEventMap["click"];
mouseover: WindowEventMap["mouseover"];
mouseenter: WindowEventMap["mouseenter"];
mouseleave: WindowEventMap["mouseleave"];
input: WindowEventMap["input"];
},
{ label: {} }
> {}