UNPKG

choerodon-ui

Version:

An enterprise-class UI design language and React-based implementation

244 lines (243 loc) 10.1 kB
import { ReactNode } from 'react'; import PropTypes from 'prop-types'; import { TextField, TextFieldProps } from '../text-field/TextField'; import { ValidationMessages } from '../validator/Validator'; import { FieldType } from '../data-set/enum'; import { ValidatorProps } from '../validator/rules'; import defaultFormatNumber from '../formatter/formatNumber'; import { Lang } from '../locale-context/enum'; export declare type FormatNumberFunc = (value: string, lang: string, options: Intl.NumberFormatOptions) => string; export declare type FormatNumberFuncOptions = { lang?: string | undefined; options: Intl.NumberFormatOptions; }; export interface NumberFieldProps<V = number> extends TextFieldProps<V> { /** * 最小值 */ min?: number | null; /** * 最大值 */ max?: number | null; /** * 步距 */ step?: number; /** * 非严格步距 */ nonStrictStep?: boolean; /** * 格式器 */ formatter?: FormatNumberFunc; /** * 格式器参数 */ formatterOptions?: FormatNumberFuncOptions; /** *是否长按按钮按步距增加 */ longPressPlus?: boolean; /** * 小数点精度 */ precision?: number; /** * 千分位分组显示 */ numberGrouping?: boolean; } export declare class NumberField<T extends NumberFieldProps> extends TextField<T & NumberFieldProps> { static displayName: string; static propTypes: { id: PropTypes.Requireable<string>; size: PropTypes.Requireable<import("../core/enum").Size>; suffixCls: PropTypes.Requireable<string>; prefixCls: PropTypes.Requireable<string>; title: PropTypes.Requireable<PropTypes.ReactNodeLike>; disabled: PropTypes.Requireable<boolean>; hidden: PropTypes.Requireable<boolean>; autoFocus: PropTypes.Requireable<boolean>; accessKey: PropTypes.Requireable<string | boolean>; dir: PropTypes.Requireable<string>; contentEditable: PropTypes.Requireable<string | boolean>; draggable: PropTypes.Requireable<string | boolean>; style: PropTypes.Requireable<object>; className: PropTypes.Requireable<string>; tabIndex: PropTypes.Requireable<number>; lang: PropTypes.Requireable<string>; spellCheck: PropTypes.Requireable<boolean>; onFocus: PropTypes.Requireable<(...args: any[]) => any>; onBlur: PropTypes.Requireable<(...args: any[]) => any>; onClick: PropTypes.Requireable<(...args: any[]) => any>; onDoubleClick: PropTypes.Requireable<(...args: any[]) => any>; onMouseUp: PropTypes.Requireable<(...args: any[]) => any>; onMouseDown: PropTypes.Requireable<(...args: any[]) => any>; onMouseMove: PropTypes.Requireable<(...args: any[]) => any>; onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>; onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>; onMouseOver: PropTypes.Requireable<(...args: any[]) => any>; onMouseOut: PropTypes.Requireable<(...args: any[]) => any>; onContextMenu: PropTypes.Requireable<(...args: any[]) => any>; onKeyDown: PropTypes.Requireable<(...args: any[]) => any>; onKeyUp: PropTypes.Requireable<(...args: any[]) => any>; onKeyPress: PropTypes.Requireable<(...args: any[]) => any>; dataSet: PropTypes.Requireable<object>; _inTable: PropTypes.Requireable<boolean>; type: PropTypes.Requireable<string>; name: PropTypes.Requireable<string>; value: PropTypes.Requireable<any>; defaultValue: PropTypes.Requireable<any>; required: PropTypes.Requireable<boolean>; readOnly: PropTypes.Requireable<boolean>; form: PropTypes.Requireable<string>; dataIndex: PropTypes.Requireable<number>; multiple: PropTypes.Requireable<boolean>; range: PropTypes.Requireable<boolean | (string | null | undefined)[]>; rowSpan: PropTypes.Requireable<number>; newLine: PropTypes.Requireable<boolean>; colSpan: PropTypes.Requireable<number>; validator: PropTypes.Requireable<(...args: any[]) => any>; onInvalid: PropTypes.Requireable<(...args: any[]) => any>; help: PropTypes.Requireable<string>; showHelp: PropTypes.Requireable<import("../field/enum").ShowHelp>; renderer: PropTypes.Requireable<(...args: any[]) => any>; validationRenderer: PropTypes.Requireable<(...args: any[]) => any>; maxTagPlaceholder: PropTypes.Requireable<string | number | boolean | {} | PropTypes.ReactElementLike | PropTypes.ReactNodeArray>; maxTagCount: PropTypes.Requireable<number>; maxTagTextLength: PropTypes.Requireable<number>; pristine: PropTypes.Requireable<boolean>; trim: PropTypes.Requireable<import("../data-set/enum").FieldTrim>; onBeforeChange: PropTypes.Requireable<(...args: any[]) => any>; onChange: PropTypes.Requireable<(...args: any[]) => any>; onInput: PropTypes.Requireable<(...args: any[]) => any>; onEnterDown: PropTypes.Requireable<(...args: any[]) => any>; fieldClassName: PropTypes.Requireable<string>; highlight: PropTypes.Requireable<string | number | boolean | {} | PropTypes.ReactElementLike | PropTypes.ReactNodeArray>; highlightRenderer: PropTypes.Requireable<(...args: any[]) => any>; useColon: PropTypes.Requireable<boolean>; showValidation: PropTypes.Requireable<string>; placeholder: PropTypes.Requireable<string | (string | null | undefined)[]>; minLength: PropTypes.Requireable<number>; maxLength: PropTypes.Requireable<number>; pattern: PropTypes.Requireable<string | object>; autoComplete: PropTypes.Requireable<string>; prefix: PropTypes.Requireable<PropTypes.ReactNodeLike>; suffix: PropTypes.Requireable<PropTypes.ReactNodeLike>; clearButton: PropTypes.Requireable<boolean>; addonBefore: PropTypes.Requireable<PropTypes.ReactNodeLike>; addonBeforeStyle: PropTypes.Requireable<object>; addonAfter: PropTypes.Requireable<PropTypes.ReactNodeLike>; addonAfterStyle: PropTypes.Requireable<object>; restrict: PropTypes.Requireable<string | object>; isFlat: PropTypes.Requireable<boolean>; valueChangeAction: PropTypes.Requireable<import("../text-field/enum").ValueChangeAction>; wait: PropTypes.Requireable<number>; waitType: PropTypes.Requireable<import("../core/enum").WaitType>; groupClassName: PropTypes.Requireable<string>; showLengthInfo: PropTypes.Requireable<boolean>; border: PropTypes.Requireable<boolean>; /** * 最小值 */ min: PropTypes.Requireable<number>; /** * 最大值 */ max: PropTypes.Requireable<number>; /** * 步距 */ step: PropTypes.Requireable<number>; /** * 非严格步距 */ nonStrictStep: PropTypes.Requireable<boolean>; /** * 格式器 */ formatter: PropTypes.Requireable<(...args: any[]) => any>; /** * 格式器参数 */ longPressPlus: PropTypes.Requireable<boolean>; /** * 是否开启长按步距增加 */ formatterOptions: PropTypes.Requireable<object>; }; static defaultProps: { suffixCls: string; longPressPlus: boolean; max: number; min: number; clearButton: boolean; multiple: boolean; border: boolean; valueChangeAction: import("../text-field/enum").ValueChangeAction; waitType: import("../core/enum").WaitType; readOnly: boolean; disabled: boolean; noValidate: boolean; showHelp: string; trim: import("../data-set/enum").FieldTrim; }; static format: typeof defaultFormatNumber; plusElement?: HTMLDivElement | null; minusElement?: HTMLDivElement | null; get lang(): Lang; get defaultValidationMessages(): ValidationMessages; get allowDecimal(): boolean; get nonStrictStep(): boolean; get allowNegative(): boolean; get min(): number | undefined | null; get max(): number | undefined | null; get value(): any | undefined; set value(value: any | undefined); savePlusRef(ref: any): void; saveMinusRef(ref: any): void; isLowerRange(value1: number, value2: number): boolean; getFieldType(): FieldType; getLimit(type: string): number | undefined | null; getValidatorProps(): ValidatorProps; getInnerSpanButton(): ReactNode; getWrapperClassNames(...args: any[]): string; handleEnterDown(e: any): void; handleKeyDown(e: any): void; handleKeyDownUp(e: any): void; handleKeyDownDown(e: any): void; handlePlus(_e: any, isKeeping: any): void; handleMinus(_e: any, isKeeping: any): void; handleOncePlus(): void; handleOnceMinus(): void; getOmitPropsKeys(): string[]; getObservableProps(props: any, context: any): any; step(isPlus: boolean, isKeeping?: boolean): void; prepareSetValue(value: any): void; restrictInput(value: string): string; getFormatOptions(value?: number): FormatNumberFuncOptions; getFormatter(): any; processText(value: ReactNode): ReactNode; renderLengthInfo(): ReactNode; } export default class ObserverNumberField extends NumberField<NumberFieldProps> { static defaultProps: { suffixCls: string; longPressPlus: boolean; max: number; min: number; clearButton: boolean; multiple: boolean; border: boolean; valueChangeAction: import("../text-field/enum").ValueChangeAction; waitType: import("../core/enum").WaitType; readOnly: boolean; disabled: boolean; noValidate: boolean; showHelp: string; trim: import("../data-set/enum").FieldTrim; }; static format: typeof defaultFormatNumber; }