@tendaui/components 1.3.0 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +176 -176
- package/button/_example/ghost.tsx +2 -5
- package/color-picker/utils/color-picker/cmyk.ts +89 -89
- package/color-picker/utils/color-picker/color.ts +467 -467
- package/color-picker/utils/color-picker/constants.ts +187 -187
- package/color-picker/utils/color-picker/draggable.ts +99 -99
- package/color-picker/utils/color-picker/format.ts +90 -90
- package/color-picker/utils/color-picker/gradient.ts +237 -237
- package/color-picker/utils/color-picker/index.ts +7 -7
- package/color-picker/utils/color-picker/types.ts +33 -33
- package/dialog/hooks/useDialogPosition.ts +35 -35
- package/form/type.ts +519 -519
- package/global-config/default-config.ts +95 -95
- package/global-config/locale/ar_KW.ts +259 -259
- package/global-config/locale/en_US.ts +265 -265
- package/global-config/locale/it_IT.ts +264 -264
- package/global-config/locale/ja_JP.ts +264 -264
- package/global-config/locale/ko_KR.ts +264 -264
- package/global-config/locale/ru_RU.ts +277 -277
- package/global-config/locale/zh_CN.ts +265 -265
- package/global-config/locale/zh_TW.ts +265 -265
- package/global-config/mobile/default-config.ts +6 -6
- package/global-config/mobile/locale/ar_KW.ts +112 -112
- package/global-config/mobile/locale/en_US.ts +113 -113
- package/global-config/mobile/locale/it_IT.ts +113 -113
- package/global-config/mobile/locale/ja_JP.ts +100 -100
- package/global-config/mobile/locale/ko_KR.ts +100 -100
- package/global-config/mobile/locale/ru_RU.ts +112 -112
- package/global-config/mobile/locale/zh_CN.ts +100 -100
- package/global-config/mobile/locale/zh_TW.ts +100 -100
- package/global-config/t.ts +111 -111
- package/input-number/InputNumber.tsx +124 -124
- package/input-number/defaultProps.ts +17 -17
- package/input-number/index.ts +9 -9
- package/input-number/style/css.js +1 -1
- package/input-number/style/index.js +1 -1
- package/input-number/useInputNumber.tsx +270 -270
- package/list/ListItem.tsx +36 -36
- package/list/ListItemMeta.tsx +40 -40
- package/list/defaultProps.ts +11 -11
- package/list/hooks/useListVirtualScroll.ts +82 -82
- package/list/style/css.js +1 -1
- package/list/style/index.js +1 -1
- package/locale/LocalReceiver.ts +55 -55
- package/locale/ar_KW.ts +7 -7
- package/locale/en_US.ts +7 -7
- package/locale/it_IT.ts +6 -6
- package/locale/ja_JP.ts +6 -6
- package/locale/ko_KR.ts +6 -6
- package/locale/ru_RU.ts +6 -6
- package/locale/zh_CN.ts +5 -5
- package/locale/zh_TW.ts +7 -7
- package/package.json +2 -2
- package/radio/_example/default.tsx +2 -2
- package/select/type.ts +382 -382
- package/select-input/type.ts +280 -280
- package/slider/SliderHandleButton.tsx +50 -50
- package/slider/defaultProps.ts +15 -15
- package/slider/style/css.js +1 -1
- package/slider/style/index.js +1 -1
- package/styles/_global.scss +40 -40
- package/styles/_vars.scss +374 -374
- package/styles/components/alert/_index.scss +175 -175
- package/styles/components/alert/_vars.scss +41 -41
- package/styles/components/badge/_index.scss +71 -71
- package/styles/components/badge/_vars.scss +26 -26
- package/styles/components/button/_index.scss +499 -499
- package/styles/components/button/_mixins.scss +40 -40
- package/styles/components/button/_vars.scss +121 -121
- package/styles/components/checkbox/_index.scss +158 -158
- package/styles/components/checkbox/_var.scss +59 -59
- package/styles/components/color-picker/_index.scss +586 -586
- package/styles/components/color-picker/_vars.scss +79 -79
- package/styles/components/dialog/_animate.scss +133 -133
- package/styles/components/dialog/_index.scss +310 -310
- package/styles/components/dialog/_vars.scss +60 -60
- package/styles/components/drawer/_index.scss +206 -206
- package/styles/components/drawer/_var.scss +55 -55
- package/styles/components/fireworks/_index.scss +86 -86
- package/styles/components/fireworks/_vars.scss +5 -5
- package/styles/components/form/_index.scss +175 -175
- package/styles/components/form/_mixins.scss +74 -74
- package/styles/components/form/_vars.scss +101 -101
- package/styles/components/input/_index.scss +350 -350
- package/styles/components/input/_mixins.scss +120 -120
- package/styles/components/input/_vars.scss +130 -130
- package/styles/components/input-number/_index.scss +327 -327
- package/styles/components/input-number/_vars.scss +56 -56
- package/styles/components/ip-input/_index.scss +277 -277
- package/styles/components/layout/_index.scss +47 -47
- package/styles/components/layout/_vars.scss +19 -19
- package/styles/components/layout/doc.scss +74 -74
- package/styles/components/list/_index.scss +172 -172
- package/styles/components/list/_vars.scss +42 -42
- package/styles/components/loading/_index.scss +113 -113
- package/styles/components/loading/_vars.scss +40 -40
- package/styles/components/notification/_index.scss +140 -140
- package/styles/components/notification/_mixins.scss +13 -13
- package/styles/components/notification/_vars.scss +60 -60
- package/styles/components/popup/_index.scss +78 -78
- package/styles/components/popup/_mixin.scss +149 -149
- package/styles/components/popup/_vars.scss +33 -33
- package/styles/components/radio/_index.scss +376 -376
- package/styles/components/radio/_vars.scss +89 -89
- package/styles/components/select/_index.scss +291 -291
- package/styles/components/select/_var.scss +64 -64
- package/styles/components/select-input/_index.scss +5 -5
- package/styles/components/select-input/_var.scss +4 -4
- package/styles/components/slider/_index.scss +241 -241
- package/styles/components/slider/_vars.scss +51 -51
- package/styles/components/switch/_index.scss +175 -175
- package/styles/components/switch/_vars.scss +63 -63
- package/styles/components/table/_index.scss +194 -194
- package/styles/components/table/_var.scss +52 -52
- package/styles/components/tabs/_index.scss +165 -165
- package/styles/components/tabs/_mixins.scss +11 -11
- package/styles/components/tabs/_vars.scss +72 -72
- package/styles/components/tag/_index.scss +317 -317
- package/styles/components/tag/_var.scss +86 -86
- package/styles/components/tag-input/_index.scss +164 -164
- package/styles/components/tag-input/_vars.scss +17 -17
- package/styles/mixins/_focus.scss +8 -8
- package/styles/mixins/_layout.scss +32 -32
- package/styles/mixins/_reset.scss +11 -11
- package/styles/mixins/_scrollbar.scss +32 -32
- package/styles/mixins/_text.scss +50 -50
- package/styles/themes/_dark.scss +169 -169
- package/styles/themes/_font.scss +69 -69
- package/styles/themes/_index.scss +5 -5
- package/styles/themes/_light.scss +170 -170
- package/styles/themes/_radius.scss +9 -9
- package/styles/themes/_size.scss +68 -68
- package/styles/utilities/_animation.scss +58 -58
- package/styles/utilities/_tips.scss +10 -10
- package/switch/_example/with-label.tsx +1 -1
- package/utils/input-number/large-number.ts +423 -423
- package/utils/input-number/number.ts +257 -257
- package/utils/log/index.ts +3 -3
- package/utils/log/log.ts +29 -29
- package/utils/log/types.ts +9 -9
- package/utils/style.ts +58 -58
|
@@ -1,124 +1,124 @@
|
|
|
1
|
-
import React, { forwardRef, useImperativeHandle, useRef, ForwardedRef } from "react";
|
|
2
|
-
import {
|
|
3
|
-
IconChevronDown as TdChevronDownIcon,
|
|
4
|
-
IconMinusStroked as TdRemoveIcon,
|
|
5
|
-
IconChevronUp as TdChevronUpIcon,
|
|
6
|
-
IconPlus as TdAddIcon
|
|
7
|
-
} from "@tendaui/icons";
|
|
8
|
-
import classNames from "classnames";
|
|
9
|
-
import Input from "../input";
|
|
10
|
-
import Button from "../button";
|
|
11
|
-
import useInputNumber from "./useInputNumber";
|
|
12
|
-
import useGlobalIcon from "../hooks/useGlobalIcon";
|
|
13
|
-
import { inputNumberDefaultProps } from "./defaultProps";
|
|
14
|
-
import { InputNumberValue, TdInputNumberProps } from "./type";
|
|
15
|
-
import { StyledProps } from "../common";
|
|
16
|
-
import useDefaultProps from "../hooks/useDefaultProps";
|
|
17
|
-
|
|
18
|
-
export interface InputNumberProps<T = InputNumberValue> extends TdInputNumberProps<T>, StyledProps {}
|
|
19
|
-
|
|
20
|
-
export interface InputNumberRef {
|
|
21
|
-
currentElement: ForwardedRef<HTMLDivElement>;
|
|
22
|
-
inputElement: ForwardedRef<HTMLDivElement>;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
// https://fettblog.eu/typescript-react-generic-forward-refs/
|
|
26
|
-
function TdInputNumber<T extends InputNumberValue = InputNumberValue>(
|
|
27
|
-
originalProps: InputNumberProps<T>,
|
|
28
|
-
ref: ForwardedRef<InputNumberRef>
|
|
29
|
-
) {
|
|
30
|
-
const { ChevronDownIcon, RemoveIcon, ChevronUpIcon, AddIcon } = useGlobalIcon({
|
|
31
|
-
ChevronDownIcon: TdChevronDownIcon,
|
|
32
|
-
RemoveIcon: TdRemoveIcon,
|
|
33
|
-
ChevronUpIcon: TdChevronUpIcon,
|
|
34
|
-
AddIcon: TdAddIcon
|
|
35
|
-
});
|
|
36
|
-
const props = useDefaultProps<InputNumberProps<T>>(
|
|
37
|
-
originalProps,
|
|
38
|
-
inputNumberDefaultProps as Partial<InputNumberProps<T>>
|
|
39
|
-
);
|
|
40
|
-
const {
|
|
41
|
-
classPrefix,
|
|
42
|
-
wrapClasses,
|
|
43
|
-
addClasses,
|
|
44
|
-
reduceClasses,
|
|
45
|
-
listeners,
|
|
46
|
-
isError,
|
|
47
|
-
inputRef,
|
|
48
|
-
userInput,
|
|
49
|
-
handleAdd,
|
|
50
|
-
handleReduce,
|
|
51
|
-
onInnerInputChange
|
|
52
|
-
} = useInputNumber(props);
|
|
53
|
-
|
|
54
|
-
const wrapRef = useRef(null);
|
|
55
|
-
|
|
56
|
-
const status = isError ? "error" : props.status;
|
|
57
|
-
const iconSize = props.size === "medium" ? "default" : props.size;
|
|
58
|
-
const addIcon =
|
|
59
|
-
props.theme === "column" ? <ChevronUpIcon size={iconSize as any} /> : <AddIcon size={iconSize as any} />;
|
|
60
|
-
const reduceIcon =
|
|
61
|
-
props.theme === "column" ? <ChevronDownIcon size={iconSize as any} /> : <RemoveIcon size={iconSize as any} />;
|
|
62
|
-
|
|
63
|
-
useImperativeHandle(ref, () => ({
|
|
64
|
-
currentElement: wrapRef.current,
|
|
65
|
-
inputElement: inputRef.current
|
|
66
|
-
}));
|
|
67
|
-
|
|
68
|
-
return (
|
|
69
|
-
<div className={classNames(wrapClasses, props.className)} style={props.style} ref={wrapRef}>
|
|
70
|
-
{props.theme !== "normal" && (
|
|
71
|
-
<Button
|
|
72
|
-
className={reduceClasses}
|
|
73
|
-
disabled={props.disabled}
|
|
74
|
-
onClick={handleReduce}
|
|
75
|
-
variant="outline"
|
|
76
|
-
shape="square"
|
|
77
|
-
icon={reduceIcon}
|
|
78
|
-
/>
|
|
79
|
-
)}
|
|
80
|
-
<Input
|
|
81
|
-
ref={inputRef}
|
|
82
|
-
autocomplete="off"
|
|
83
|
-
disabled={props.disabled}
|
|
84
|
-
readonly={props.readonly}
|
|
85
|
-
placeholder={props.placeholder}
|
|
86
|
-
autoWidth={props.autoWidth}
|
|
87
|
-
align={props.align || (props.theme === "row" ? "center" : undefined)}
|
|
88
|
-
status={status}
|
|
89
|
-
label={props.label}
|
|
90
|
-
suffix={props.suffix}
|
|
91
|
-
value={userInput}
|
|
92
|
-
onChange={onInnerInputChange}
|
|
93
|
-
size={props.size}
|
|
94
|
-
{...listeners}
|
|
95
|
-
{...(props.inputProps || {})}
|
|
96
|
-
/>
|
|
97
|
-
{props.theme !== "normal" && (
|
|
98
|
-
<Button
|
|
99
|
-
className={addClasses}
|
|
100
|
-
disabled={props.disabled}
|
|
101
|
-
onClick={handleAdd}
|
|
102
|
-
variant="outline"
|
|
103
|
-
shape="square"
|
|
104
|
-
icon={addIcon}
|
|
105
|
-
/>
|
|
106
|
-
)}
|
|
107
|
-
{props.tips && (
|
|
108
|
-
<div className={classNames(`${classPrefix}-input__tips`, `${classPrefix}-input__tips--${status}`)}>
|
|
109
|
-
{props.tips}
|
|
110
|
-
</div>
|
|
111
|
-
)}
|
|
112
|
-
</div>
|
|
113
|
-
);
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
export type InputNumberOuterForwardRef = {
|
|
117
|
-
<T>(props: InputNumberProps<T> & { ref?: ForwardedRef<InputNumberRef> }): ReturnType<typeof TdInputNumber>;
|
|
118
|
-
} & React.ForwardRefExoticComponent<InputNumberProps>;
|
|
119
|
-
|
|
120
|
-
const InputNumber = forwardRef<InputNumberRef, InputNumberProps<InputNumberValue>>(TdInputNumber);
|
|
121
|
-
|
|
122
|
-
InputNumber.displayName = "InputNumber";
|
|
123
|
-
|
|
124
|
-
export default InputNumber;
|
|
1
|
+
import React, { forwardRef, useImperativeHandle, useRef, ForwardedRef } from "react";
|
|
2
|
+
import {
|
|
3
|
+
IconChevronDown as TdChevronDownIcon,
|
|
4
|
+
IconMinusStroked as TdRemoveIcon,
|
|
5
|
+
IconChevronUp as TdChevronUpIcon,
|
|
6
|
+
IconPlus as TdAddIcon
|
|
7
|
+
} from "@tendaui/icons";
|
|
8
|
+
import classNames from "classnames";
|
|
9
|
+
import Input from "../input";
|
|
10
|
+
import Button from "../button";
|
|
11
|
+
import useInputNumber from "./useInputNumber";
|
|
12
|
+
import useGlobalIcon from "../hooks/useGlobalIcon";
|
|
13
|
+
import { inputNumberDefaultProps } from "./defaultProps";
|
|
14
|
+
import { InputNumberValue, TdInputNumberProps } from "./type";
|
|
15
|
+
import { StyledProps } from "../common";
|
|
16
|
+
import useDefaultProps from "../hooks/useDefaultProps";
|
|
17
|
+
|
|
18
|
+
export interface InputNumberProps<T = InputNumberValue> extends TdInputNumberProps<T>, StyledProps {}
|
|
19
|
+
|
|
20
|
+
export interface InputNumberRef {
|
|
21
|
+
currentElement: ForwardedRef<HTMLDivElement>;
|
|
22
|
+
inputElement: ForwardedRef<HTMLDivElement>;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
// https://fettblog.eu/typescript-react-generic-forward-refs/
|
|
26
|
+
function TdInputNumber<T extends InputNumberValue = InputNumberValue>(
|
|
27
|
+
originalProps: InputNumberProps<T>,
|
|
28
|
+
ref: ForwardedRef<InputNumberRef>
|
|
29
|
+
) {
|
|
30
|
+
const { ChevronDownIcon, RemoveIcon, ChevronUpIcon, AddIcon } = useGlobalIcon({
|
|
31
|
+
ChevronDownIcon: TdChevronDownIcon,
|
|
32
|
+
RemoveIcon: TdRemoveIcon,
|
|
33
|
+
ChevronUpIcon: TdChevronUpIcon,
|
|
34
|
+
AddIcon: TdAddIcon
|
|
35
|
+
});
|
|
36
|
+
const props = useDefaultProps<InputNumberProps<T>>(
|
|
37
|
+
originalProps,
|
|
38
|
+
inputNumberDefaultProps as Partial<InputNumberProps<T>>
|
|
39
|
+
);
|
|
40
|
+
const {
|
|
41
|
+
classPrefix,
|
|
42
|
+
wrapClasses,
|
|
43
|
+
addClasses,
|
|
44
|
+
reduceClasses,
|
|
45
|
+
listeners,
|
|
46
|
+
isError,
|
|
47
|
+
inputRef,
|
|
48
|
+
userInput,
|
|
49
|
+
handleAdd,
|
|
50
|
+
handleReduce,
|
|
51
|
+
onInnerInputChange
|
|
52
|
+
} = useInputNumber(props);
|
|
53
|
+
|
|
54
|
+
const wrapRef = useRef(null);
|
|
55
|
+
|
|
56
|
+
const status = isError ? "error" : props.status;
|
|
57
|
+
const iconSize = props.size === "medium" ? "default" : props.size;
|
|
58
|
+
const addIcon =
|
|
59
|
+
props.theme === "column" ? <ChevronUpIcon size={iconSize as any} /> : <AddIcon size={iconSize as any} />;
|
|
60
|
+
const reduceIcon =
|
|
61
|
+
props.theme === "column" ? <ChevronDownIcon size={iconSize as any} /> : <RemoveIcon size={iconSize as any} />;
|
|
62
|
+
|
|
63
|
+
useImperativeHandle(ref, () => ({
|
|
64
|
+
currentElement: wrapRef.current,
|
|
65
|
+
inputElement: inputRef.current
|
|
66
|
+
}));
|
|
67
|
+
|
|
68
|
+
return (
|
|
69
|
+
<div className={classNames(wrapClasses, props.className)} style={props.style} ref={wrapRef}>
|
|
70
|
+
{props.theme !== "normal" && (
|
|
71
|
+
<Button
|
|
72
|
+
className={reduceClasses}
|
|
73
|
+
disabled={props.disabled}
|
|
74
|
+
onClick={handleReduce}
|
|
75
|
+
variant="outline"
|
|
76
|
+
shape="square"
|
|
77
|
+
icon={reduceIcon}
|
|
78
|
+
/>
|
|
79
|
+
)}
|
|
80
|
+
<Input
|
|
81
|
+
ref={inputRef}
|
|
82
|
+
autocomplete="off"
|
|
83
|
+
disabled={props.disabled}
|
|
84
|
+
readonly={props.readonly}
|
|
85
|
+
placeholder={props.placeholder}
|
|
86
|
+
autoWidth={props.autoWidth}
|
|
87
|
+
align={props.align || (props.theme === "row" ? "center" : undefined)}
|
|
88
|
+
status={status}
|
|
89
|
+
label={props.label}
|
|
90
|
+
suffix={props.suffix}
|
|
91
|
+
value={userInput}
|
|
92
|
+
onChange={onInnerInputChange}
|
|
93
|
+
size={props.size}
|
|
94
|
+
{...listeners}
|
|
95
|
+
{...(props.inputProps || {})}
|
|
96
|
+
/>
|
|
97
|
+
{props.theme !== "normal" && (
|
|
98
|
+
<Button
|
|
99
|
+
className={addClasses}
|
|
100
|
+
disabled={props.disabled}
|
|
101
|
+
onClick={handleAdd}
|
|
102
|
+
variant="outline"
|
|
103
|
+
shape="square"
|
|
104
|
+
icon={addIcon}
|
|
105
|
+
/>
|
|
106
|
+
)}
|
|
107
|
+
{props.tips && (
|
|
108
|
+
<div className={classNames(`${classPrefix}-input__tips`, `${classPrefix}-input__tips--${status}`)}>
|
|
109
|
+
{props.tips}
|
|
110
|
+
</div>
|
|
111
|
+
)}
|
|
112
|
+
</div>
|
|
113
|
+
);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
export type InputNumberOuterForwardRef = {
|
|
117
|
+
<T>(props: InputNumberProps<T> & { ref?: ForwardedRef<InputNumberRef> }): ReturnType<typeof TdInputNumber>;
|
|
118
|
+
} & React.ForwardRefExoticComponent<InputNumberProps>;
|
|
119
|
+
|
|
120
|
+
const InputNumber = forwardRef<InputNumberRef, InputNumberProps<InputNumberValue>>(TdInputNumber);
|
|
121
|
+
|
|
122
|
+
InputNumber.displayName = "InputNumber";
|
|
123
|
+
|
|
124
|
+
export default InputNumber;
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { TdInputNumberProps } from "./type";
|
|
2
|
-
|
|
3
|
-
export const inputNumberDefaultProps: TdInputNumberProps = {
|
|
4
|
-
allowInputOverLimit: true,
|
|
5
|
-
autoWidth: false,
|
|
6
|
-
decimalPlaces: undefined,
|
|
7
|
-
disabled: undefined,
|
|
8
|
-
largeNumber: false,
|
|
9
|
-
max: Infinity,
|
|
10
|
-
min: -Infinity,
|
|
11
|
-
placeholder: undefined,
|
|
12
|
-
readonly: undefined,
|
|
13
|
-
size: "medium",
|
|
14
|
-
status: "default",
|
|
15
|
-
step: 1,
|
|
16
|
-
theme: "row"
|
|
17
|
-
};
|
|
1
|
+
import { TdInputNumberProps } from "./type";
|
|
2
|
+
|
|
3
|
+
export const inputNumberDefaultProps: TdInputNumberProps = {
|
|
4
|
+
allowInputOverLimit: true,
|
|
5
|
+
autoWidth: false,
|
|
6
|
+
decimalPlaces: undefined,
|
|
7
|
+
disabled: undefined,
|
|
8
|
+
largeNumber: false,
|
|
9
|
+
max: Infinity,
|
|
10
|
+
min: -Infinity,
|
|
11
|
+
placeholder: undefined,
|
|
12
|
+
readonly: undefined,
|
|
13
|
+
size: "medium",
|
|
14
|
+
status: "default",
|
|
15
|
+
step: 1,
|
|
16
|
+
theme: "row"
|
|
17
|
+
};
|
package/input-number/index.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import _InputNumber from "./InputNumber";
|
|
2
|
-
|
|
3
|
-
import "./style/index.js";
|
|
4
|
-
|
|
5
|
-
export type { InputNumberProps } from "./InputNumber";
|
|
6
|
-
export * from "./type";
|
|
7
|
-
|
|
8
|
-
export const InputNumber = _InputNumber;
|
|
9
|
-
export default InputNumber;
|
|
1
|
+
import _InputNumber from "./InputNumber";
|
|
2
|
+
|
|
3
|
+
import "./style/index.js";
|
|
4
|
+
|
|
5
|
+
export type { InputNumberProps } from "./InputNumber";
|
|
6
|
+
export * from "./type";
|
|
7
|
+
|
|
8
|
+
export const InputNumber = _InputNumber;
|
|
9
|
+
export default InputNumber;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import "./index.css";
|
|
1
|
+
import "./index.css";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import "../../styles/components/input-number/_index.scss";
|
|
1
|
+
import "../../styles/components/input-number/_index.scss";
|