amotify
Version:
UI Component for React,NextJS,esbuild
93 lines (92 loc) • 3.1 kB
TypeScript
/// <reference types="react" />
import { ReactElement } from '../../../@declares';
import Tooltips from '../../Tooltips';
import { InputTypes } from '..';
export declare namespace TimeTypes {
type Era = 'clock' | 'year' | 'meiji' | 'taisho' | 'shouwa' | 'heisei' | 'reiwa';
type Restrict = 'clock' | 'date' | 'week' | 'month' | 'year' | 'dates' | 'months' | 'dateWareki';
type Range = {
type: 'hour' | 'minute' | 'date' | 'month' | 'year' | 'week' | 'dateWareki';
from: number;
length: number;
region?: number;
};
type Picker = {
sheetID?: string;
restrict: Restrict;
defaultValue: string | string[];
era?: Era;
min?: string;
max?: string;
onValueUpdate(value: string | [string, string], era: Era): void;
};
type Focus = {
active: boolean;
index: number;
prevIndex: number;
};
}
declare namespace Time {
type Methods = {
Clock: (props: Input) => JSX.Element;
Date: (props: Input) => JSX.Element;
Week: (props: Input) => JSX.Element;
Month: (props: Input) => JSX.Element;
Year: (props: Input) => JSX.Element;
DateWareki: (props: DateWareki) => JSX.Element;
Periods: {
Date: (props: Period) => JSX.Element;
Month: (props: Period) => JSX.Element;
};
fn: FNs;
};
type FNs = {
picker: {
launch(p: TimeTypes.Picker & Omit<Tooltips.Input, 'content'>): void;
remove(sheetID: string): void;
};
};
type Era = TimeTypes.Era;
type Restrict = TimeTypes.Restrict;
type Input = InputTypes.CoreInput & React.DOMAttributes<HTMLInputElement> & {
label?: ReactElement;
tone?: InputTypes.BoxTone;
tabIndex?: number;
id?: string;
disabled?: boolean;
value?: string | [string, string];
min?: string;
max?: string;
leftIndicator?: ReactElement | false;
rightIndicator?: ReactElement | false;
leftIcon?: ReactElement | false;
rightIcon?: ReactElement | false;
};
type Origin = Input & {
restrict: Restrict;
era?: Era;
};
type DateWareki = Input & {
value?: string;
defaultEra?: 'year' | 'wareki';
};
type Period = Omit<Input, 'value'> & {
value?: [string, string];
};
type Range = TimeTypes.Range;
type WrapperStates = {
rootStates: Origin;
val_status: InputTypes.Status.Time;
set_status: React.Dispatch<React.SetStateAction<InputTypes.Status.Time>>;
val_validate: InputTypes.Validation.Result;
set_validate: React.Dispatch<React.SetStateAction<InputTypes.Validation.Result>>;
val_era: Era;
set_era: React.Dispatch<React.SetStateAction<Era>>;
val_focus: TimeTypes.Focus;
set_focus: React.Dispatch<React.SetStateAction<TimeTypes.Focus>>;
};
}
declare const Time: Time.Methods & {
Origin: (props: Time.Origin) => JSX.Element;
};
export { Time, Time as default };