Skip to content

Commit 26726d2

Browse files
authored
fix(lint): add tsconfig (#197)
1 parent 77bf546 commit 26726d2

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

104 files changed

+276
-273
lines changed

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,3 @@ package-lock.json
3131
coverage/
3232
.doc
3333
.history
34-
tsconfig.json

src/PanelContext.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
import * as React from 'react';
2-
import { OnSelect } from './interface';
2+
import type { OnSelect } from './interface';
33

44
export type ContextOperationRefProps = {
55
onKeyDown?: (e: React.KeyboardEvent<HTMLElement>) => boolean;
66
onClose?: () => void;
77
};
88

9-
export interface PanelContextProps {
9+
export type PanelContextProps = {
1010
operationRef?: React.MutableRefObject<ContextOperationRefProps | null>;
1111
/** Only work with time panel */
1212
hideHeader?: boolean;
@@ -21,7 +21,7 @@ export interface PanelContextProps {
2121

2222
/** Only used for TimePicker and this is a deprecated prop */
2323
defaultOpenValue?: any;
24-
}
24+
};
2525

2626
const PanelContext = React.createContext<PanelContextProps>({});
2727

src/Picker.tsx

Lines changed: 17 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -13,31 +13,33 @@
1313

1414
import * as React from 'react';
1515
import classNames from 'classnames';
16-
import { AlignType } from 'rc-trigger/lib/interface';
16+
import type { AlignType } from 'rc-trigger/lib/interface';
1717
import warning from 'rc-util/lib/warning';
1818
import useMergedState from 'rc-util/lib/hooks/useMergedState';
19-
import PickerPanel, {
19+
import type {
2020
PickerPanelBaseProps,
2121
PickerPanelDateProps,
2222
PickerPanelTimeProps,
2323
} from './PickerPanel';
24+
import PickerPanel from './PickerPanel';
2425
import PickerTrigger from './PickerTrigger';
2526
import { formatValue, isEqual, parseValue } from './utils/dateUtil';
2627
import getDataOrAriaProps, { toArray } from './utils/miscUtil';
27-
import PanelContext, { ContextOperationRefProps } from './PanelContext';
28-
import { CustomFormat, PickerMode } from './interface';
28+
import type { ContextOperationRefProps } from './PanelContext';
29+
import PanelContext from './PanelContext';
30+
import type { CustomFormat, PickerMode } from './interface';
2931
import { getDefaultFormat, getInputSize, elementsContains } from './utils/uiUtil';
3032
import usePickerInput from './hooks/usePickerInput';
3133
import useTextValueMapping from './hooks/useTextValueMapping';
3234
import useValueTexts from './hooks/useValueTexts';
3335
import useHoverValue from './hooks/useHoverValue';
3436

35-
export interface PickerRefConfig {
37+
export type PickerRefConfig = {
3638
focus: () => void;
3739
blur: () => void;
38-
}
40+
};
3941

40-
export interface PickerSharedProps<DateType> extends React.AriaAttributes {
42+
export type PickerSharedProps<DateType> = {
4143
dropdownClassName?: string;
4244
dropdownAlign?: AlignType;
4345
popupStyle?: React.CSSProperties;
@@ -54,7 +56,7 @@ export interface PickerSharedProps<DateType> extends React.AriaAttributes {
5456
id?: string;
5557

5658
// Value
57-
format?: string | CustomFormat<DateType> | Array<string | CustomFormat<DateType>>;
59+
format?: string | CustomFormat<DateType> | (string | CustomFormat<DateType>)[];
5860

5961
// Render
6062
suffixIcon?: React.ReactNode;
@@ -89,31 +91,25 @@ export interface PickerSharedProps<DateType> extends React.AriaAttributes {
8991

9092
autoComplete?: string;
9193
direction?: 'ltr' | 'rtl';
92-
}
94+
} & React.AriaAttributes;
9395

9496
type OmitPanelProps<Props> = Omit<
9597
Props,
9698
'onChange' | 'hideHeader' | 'pickerValue' | 'onPickerValueChange'
9799
>;
98100

99-
export interface PickerBaseProps<DateType>
100-
extends PickerSharedProps<DateType>,
101-
OmitPanelProps<PickerPanelBaseProps<DateType>> {}
101+
export type PickerBaseProps<DateType> = {} & PickerSharedProps<DateType> & OmitPanelProps<PickerPanelBaseProps<DateType>>;
102102

103-
export interface PickerDateProps<DateType>
104-
extends PickerSharedProps<DateType>,
105-
OmitPanelProps<PickerPanelDateProps<DateType>> {}
103+
export type PickerDateProps<DateType> = {} & PickerSharedProps<DateType> & OmitPanelProps<PickerPanelDateProps<DateType>>;
106104

107-
export interface PickerTimeProps<DateType>
108-
extends PickerSharedProps<DateType>,
109-
Omit<OmitPanelProps<PickerPanelTimeProps<DateType>>, 'format'> {
105+
export type PickerTimeProps<DateType> = {
110106
picker: 'time';
111107
/**
112108
* @deprecated Please use `defaultValue` directly instead
113109
* since `defaultOpenValue` will confuse user of current value status
114110
*/
115111
defaultOpenValue?: DateType;
116-
}
112+
} & PickerSharedProps<DateType> & Omit<OmitPanelProps<PickerPanelTimeProps<DateType>>, 'format'>;
117113

118114
export type PickerProps<DateType> =
119115
| PickerBaseProps<DateType>
@@ -124,9 +120,9 @@ export type PickerProps<DateType> =
124120
type OmitType<DateType> = Omit<PickerBaseProps<DateType>, 'picker'> &
125121
Omit<PickerDateProps<DateType>, 'picker'> &
126122
Omit<PickerTimeProps<DateType>, 'picker'>;
127-
interface MergedPickerProps<DateType> extends OmitType<DateType> {
123+
type MergedPickerProps<DateType> = {
128124
picker?: PickerMode;
129-
}
125+
} & OmitType<DateType>;
130126

131127
function InnerPicker<DateType>(props: PickerProps<DateType>) {
132128
const {

src/PickerPanel.tsx

Lines changed: 16 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
/* eslint-disable jsx-a11y/no-noninteractive-tabindex */
2-
31
/**
42
* Logic:
53
* When `mode` === `picker`,
@@ -12,16 +10,17 @@ import classNames from 'classnames';
1210
import KeyCode from 'rc-util/lib/KeyCode';
1311
import warning from 'rc-util/lib/warning';
1412
import useMergedState from 'rc-util/lib/hooks/useMergedState';
15-
import TimePanel, { SharedTimeProps } from './panels/TimePanel';
13+
import type { SharedTimeProps } from './panels/TimePanel';
14+
import TimePanel from './panels/TimePanel';
1615
import DatetimePanel from './panels/DatetimePanel';
1716
import DatePanel from './panels/DatePanel';
1817
import WeekPanel from './panels/WeekPanel';
1918
import MonthPanel from './panels/MonthPanel';
2019
import QuarterPanel from './panels/QuarterPanel';
2120
import YearPanel from './panels/YearPanel';
2221
import DecadePanel from './panels/DecadePanel';
23-
import { GenerateConfig } from './generate';
24-
import {
22+
import type { GenerateConfig } from './generate';
23+
import type {
2524
Locale,
2625
PanelMode,
2726
PanelRefProps,
@@ -32,15 +31,15 @@ import {
3231
} from './interface';
3332
import { isEqual } from './utils/dateUtil';
3433
import PanelContext from './PanelContext';
35-
import { DateRender } from './panels/DatePanel/DateBody';
34+
import type { DateRender } from './panels/DatePanel/DateBody';
3635
import { PickerModeMap } from './utils/uiUtil';
37-
import { MonthCellRender } from './panels/MonthPanel/MonthBody';
36+
import type { MonthCellRender } from './panels/MonthPanel/MonthBody';
3837
import RangeContext from './RangeContext';
3938
import getExtraFooter from './utils/getExtraFooter';
4039
import getRanges from './utils/getRanges';
4140
import { getLowerBoundTime, setTime } from './utils/timeUtil';
4241

43-
export interface PickerPanelSharedProps<DateType> {
42+
export type PickerPanelSharedProps<DateType> = {
4443
prefixCls?: string;
4544
className?: string;
4645
style?: React.CSSProperties;
@@ -84,27 +83,25 @@ export interface PickerPanelSharedProps<DateType> {
8483

8584
/** @private Internal usage. Do not use in your production env */
8685
components?: Components;
87-
}
86+
};
8887

89-
export interface PickerPanelBaseProps<DateType> extends PickerPanelSharedProps<DateType> {
88+
export type PickerPanelBaseProps<DateType> = {
9089
picker: Exclude<PickerMode, 'date' | 'time'>;
91-
}
90+
} & PickerPanelSharedProps<DateType>;
9291

93-
export interface PickerPanelDateProps<DateType> extends PickerPanelSharedProps<DateType> {
92+
export type PickerPanelDateProps<DateType> = {
9493
picker?: 'date';
9594
showToday?: boolean;
9695
showNow?: boolean;
9796

9897
// Time
9998
showTime?: boolean | SharedTimeProps<DateType>;
10099
disabledTime?: DisabledTime<DateType>;
101-
}
100+
} & PickerPanelSharedProps<DateType>;
102101

103-
export interface PickerPanelTimeProps<DateType>
104-
extends PickerPanelSharedProps<DateType>,
105-
SharedTimeProps<DateType> {
102+
export type PickerPanelTimeProps<DateType> = {
106103
picker: 'time';
107-
}
104+
} & PickerPanelSharedProps<DateType> & SharedTimeProps<DateType>;
108105

109106
export type PickerPanelProps<DateType> =
110107
| PickerPanelBaseProps<DateType>
@@ -115,9 +112,9 @@ export type PickerPanelProps<DateType> =
115112
type OmitType<DateType> = Omit<PickerPanelBaseProps<DateType>, 'picker'> &
116113
Omit<PickerPanelDateProps<DateType>, 'picker'> &
117114
Omit<PickerPanelTimeProps<DateType>, 'picker'>;
118-
interface MergedPickerPanelProps<DateType> extends OmitType<DateType> {
115+
type MergedPickerPanelProps<DateType> = {
119116
picker?: PickerMode;
120-
}
117+
} & OmitType<DateType>;
121118

122119
function PickerPanel<DateType>(props: PickerPanelProps<DateType>) {
123120
const {

src/PickerTrigger.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import * as React from 'react';
22
import classNames from 'classnames';
33
import Trigger from 'rc-trigger';
4-
import { AlignType } from 'rc-trigger/lib/interface';
4+
import type { AlignType } from 'rc-trigger/lib/interface';
55

66
const BUILT_IN_PLACEMENTS = {
77
bottomLeft: {
@@ -40,7 +40,7 @@ const BUILT_IN_PLACEMENTS = {
4040

4141
type Placement = 'bottomLeft' | 'bottomRight' | 'topLeft' | 'topRight';
4242

43-
export interface PickerTriggerProps {
43+
export type PickerTriggerProps = {
4444
prefixCls: string;
4545
visible: boolean;
4646
popupElement: React.ReactElement;
@@ -53,7 +53,7 @@ export interface PickerTriggerProps {
5353
range?: boolean;
5454
popupPlacement?: Placement;
5555
direction?: 'ltr' | 'rtl';
56-
}
56+
};
5757

5858
function PickerTrigger({
5959
prefixCls,

src/RangeContext.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import * as React from 'react';
2-
import { NullableDateType, RangeValue } from './interface';
2+
import type { NullableDateType, RangeValue } from './interface';
33

4-
export interface RangeContextProps {
4+
export type RangeContextProps = {
55
/**
66
* Set displayed range value style.
77
* Panel only has one value, this is only style effect.
@@ -10,7 +10,7 @@ export interface RangeContextProps {
1010
hoverRangedValue?: RangeValue<any>;
1111
inRange?: boolean;
1212
panelPosition?: 'left' | 'right' | false;
13-
}
13+
};
1414

1515
const RangeContext = React.createContext<RangeContextProps>({});
1616

src/RangePicker.tsx

Lines changed: 19 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,16 @@ import { useRef, useEffect, useState } from 'react';
33
import classNames from 'classnames';
44
import warning from 'rc-util/lib/warning';
55
import useMergedState from 'rc-util/lib/hooks/useMergedState';
6-
import { DisabledTimes, PanelMode, PickerMode, RangeValue, EventValue } from './interface';
7-
import { PickerBaseProps, PickerDateProps, PickerTimeProps, PickerRefConfig } from './Picker';
8-
import { SharedTimeProps } from './panels/TimePanel';
6+
import type { DisabledTimes, PanelMode, PickerMode, RangeValue, EventValue } from './interface';
7+
import type { PickerBaseProps, PickerDateProps, PickerTimeProps, PickerRefConfig } from './Picker';
8+
import type { SharedTimeProps } from './panels/TimePanel';
99
import PickerTrigger from './PickerTrigger';
1010
import PickerPanel from './PickerPanel';
1111
import usePickerInput from './hooks/usePickerInput';
1212
import getDataOrAriaProps, { toArray, getValue, updateValues } from './utils/miscUtil';
1313
import { getDefaultFormat, getInputSize, elementsContains } from './utils/uiUtil';
14-
import PanelContext, { ContextOperationRefProps } from './PanelContext';
14+
import type { ContextOperationRefProps } from './PanelContext';
15+
import PanelContext from './PanelContext';
1516
import {
1617
isEqual,
1718
getClosingViewDate,
@@ -23,14 +24,14 @@ import {
2324
} from './utils/dateUtil';
2425
import useValueTexts from './hooks/useValueTexts';
2526
import useTextValueMapping from './hooks/useTextValueMapping';
26-
import { GenerateConfig } from './generate';
27-
import { PickerPanelProps } from '.';
27+
import type { GenerateConfig } from './generate';
28+
import type { PickerPanelProps } from '.';
2829
import RangeContext from './RangeContext';
2930
import useRangeDisabled from './hooks/useRangeDisabled';
3031
import getExtraFooter from './utils/getExtraFooter';
3132
import getRanges from './utils/getRanges';
3233
import useRangeViewDates from './hooks/useRangeViewDates';
33-
import { DateRender } from './panels/DatePanel/DateBody';
34+
import type { DateRender } from './panels/DatePanel/DateBody';
3435
import useHoverValue from './hooks/useHoverValue';
3536

3637
function reorderValues<DateType>(
@@ -67,17 +68,17 @@ function canValueTrigger<DateType>(
6768

6869
export type RangeType = 'start' | 'end';
6970

70-
export interface RangeInfo {
71+
export type RangeInfo = {
7172
range: RangeType;
72-
}
73+
};
7374

7475
export type RangeDateRender<DateType> = (
7576
currentDate: DateType,
7677
today: DateType,
7778
info: RangeInfo,
7879
) => React.ReactNode;
7980

80-
export interface RangePickerSharedProps<DateType> {
81+
export type RangePickerSharedProps<DateType> = {
8182
id?: string;
8283
value?: RangeValue<DateType>;
8384
defaultValue?: RangeValue<DateType>;
@@ -108,7 +109,7 @@ export interface RangePickerSharedProps<DateType> {
108109
activePickerIndex?: 0 | 1;
109110
dateRender?: RangeDateRender<DateType>;
110111
panelRender?: (originPanel: React.ReactNode) => React.ReactNode;
111-
}
112+
};
112113

113114
type OmitPickerProps<Props> = Omit<
114115
Props,
@@ -134,21 +135,15 @@ type RangeShowTimeObject<DateType> = Omit<SharedTimeProps<DateType>, 'defaultVal
134135
defaultValue?: DateType[];
135136
};
136137

137-
export interface RangePickerBaseProps<DateType>
138-
extends RangePickerSharedProps<DateType>,
139-
OmitPickerProps<PickerBaseProps<DateType>> {}
138+
export type RangePickerBaseProps<DateType> = {} & RangePickerSharedProps<DateType> & OmitPickerProps<PickerBaseProps<DateType>>;
140139

141-
export interface RangePickerDateProps<DateType>
142-
extends RangePickerSharedProps<DateType>,
143-
OmitPickerProps<PickerDateProps<DateType>> {
140+
export type RangePickerDateProps<DateType> = {
144141
showTime?: boolean | RangeShowTimeObject<DateType>;
145-
}
142+
} & RangePickerSharedProps<DateType> & OmitPickerProps<PickerDateProps<DateType>>;
146143

147-
export interface RangePickerTimeProps<DateType>
148-
extends RangePickerSharedProps<DateType>,
149-
OmitPickerProps<PickerTimeProps<DateType>> {
144+
export type RangePickerTimeProps<DateType> = {
150145
order?: boolean;
151-
}
146+
} & RangePickerSharedProps<DateType> & OmitPickerProps<PickerTimeProps<DateType>>;
152147

153148
export type RangePickerProps<DateType> =
154149
| RangePickerBaseProps<DateType>
@@ -160,9 +155,9 @@ type OmitType<DateType> = Omit<RangePickerBaseProps<DateType>, 'picker'> &
160155
Omit<RangePickerDateProps<DateType>, 'picker'> &
161156
Omit<RangePickerTimeProps<DateType>, 'picker'>;
162157

163-
interface MergedRangePickerProps<DateType> extends OmitType<DateType> {
158+
type MergedRangePickerProps<DateType> = {
164159
picker?: PickerMode;
165-
}
160+
} & OmitType<DateType>;
166161

167162
function InnerRangePicker<DateType>(props: RangePickerProps<DateType>) {
168163
const {

src/generate/dateFns.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import {
2424
parse as parseDate,
2525
} from 'date-fns';
2626
import * as Locale from 'date-fns/locale';
27-
import { GenerateConfig } from '.';
27+
import type { GenerateConfig } from '.';
2828

2929
const dealLocal = (str: string) => {
3030
return str.replace(/_/g, '');

0 commit comments

Comments
 (0)