@preply/ds-web-core 0.57.1 → 0.58.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/dist/field/hooks/useNumberField.d.ts +13 -0
- package/dist/field/hooks/useNumberField.js +64 -0
- package/dist/field/hooks/usePasswordField.js +10 -12
- package/dist/field/hooks/useSelectField.d.ts +14 -0
- package/dist/field/hooks/useSelectField.js +72 -0
- package/dist/field/hooks/useTextField.js +10 -12
- package/dist/field/index.d.ts +2 -0
- package/dist/field/index.js +3 -1
- package/dist/field/types.d.ts +8 -1
- package/dist/generated/breakpoints.less +1 -1
- package/dist/generated/options.less +1 -1
- package/dist/generated/tokens.less +1 -1
- package/dist/index.js +3 -1
- package/dist/input/private/types.d.ts +1 -0
- package/dist/input/private/utils.js +13 -7
- package/dist/input/types.d.ts +3 -2
- package/package.json +6 -6
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { InputNumberProps } from '../../input';
|
|
3
|
+
import type { FieldLayoutProps } from '../types';
|
|
4
|
+
declare type UseNumberFieldState = {
|
|
5
|
+
layoutProps: Omit<FieldLayoutProps, 'input' | 'className' | 'inputHandle' | 'button'>;
|
|
6
|
+
inputProps: InputNumberProps;
|
|
7
|
+
};
|
|
8
|
+
export declare const useNumberField: (props: import("../types").FieldCommonProps & Pick<InputNumberProps, "required" | "disabled" | "hasError" | "dataset" | "onClick" | "value" | "defaultValue" | "min" | "max" | "placeholder" | "maxLength" | "name" | "onChange" | "onFocus" | "onBlur" | "onKeyDown" | "onKeyUp" | "onValueChange"> & {
|
|
9
|
+
id?: string | undefined;
|
|
10
|
+
} & {
|
|
11
|
+
icon?: import("react").ReactElement<import("../..").IconProps, string | ((props: any) => import("react").ReactElement<any, string | any | (new (props: any) => import("react").Component<any, any, any>)> | null) | (new (props: any) => import("react").Component<any, any, any>)> | undefined;
|
|
12
|
+
} & Pick<InputNumberProps, "required" | "disabled" | "hasError" | "dataset" | "onClick" | "value" | "defaultValue" | "min" | "max" | "aria-describedby" | "aria-disabled" | "aria-invalid" | "aria-required" | "placeholder" | "maxLength" | "name" | "onChange" | "onFocus" | "onBlur" | "onKeyDown" | "onKeyUp" | "onValueChange">) => UseNumberFieldState;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { makeTinyId } from '@preply/ds-core';
|
|
2
|
+
import { useState, useCallback } from 'react';
|
|
3
|
+
import { makeDescId } from '../../accessibility/aria/utils.js';
|
|
4
|
+
|
|
5
|
+
const useNumberField = (props) => {
|
|
6
|
+
const { id, value, label, hideLabel, preserveSpace, required, requiredLabel, additionalText, disabled, hasError, errorMessage, icon, onFocus, onBlur, onChange, inputDataset, dataset, max, min, ...rest } = props;
|
|
7
|
+
const actualId = id || makeTinyId();
|
|
8
|
+
const [isFocused, setIsFocused] = useState(false);
|
|
9
|
+
const [isTouched, setIsTouched] = useState(false);
|
|
10
|
+
const [isChanged, setIsChanged] = useState(false);
|
|
11
|
+
const handleFocus = useCallback(ev => {
|
|
12
|
+
setIsFocused(true);
|
|
13
|
+
setIsTouched(true);
|
|
14
|
+
onFocus === null || onFocus === void 0 ? void 0 : onFocus(ev);
|
|
15
|
+
}, []);
|
|
16
|
+
const handleBlur = useCallback(ev => {
|
|
17
|
+
setIsFocused(false);
|
|
18
|
+
onBlur === null || onBlur === void 0 ? void 0 : onBlur(ev);
|
|
19
|
+
}, []);
|
|
20
|
+
const handleChange = useCallback(ev => {
|
|
21
|
+
setIsChanged(false);
|
|
22
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(ev);
|
|
23
|
+
}, []);
|
|
24
|
+
const actualHasError = hasError || !!errorMessage;
|
|
25
|
+
const actualAdditionalText = errorMessage || additionalText;
|
|
26
|
+
const describeId = actualHasError || !!additionalText ? makeDescId(actualId) : undefined;
|
|
27
|
+
return {
|
|
28
|
+
layoutProps: {
|
|
29
|
+
id: actualId,
|
|
30
|
+
label,
|
|
31
|
+
hideLabel,
|
|
32
|
+
required,
|
|
33
|
+
requiredLabel,
|
|
34
|
+
additionalText: actualAdditionalText,
|
|
35
|
+
preserveSpace,
|
|
36
|
+
disabled,
|
|
37
|
+
isFocused,
|
|
38
|
+
isTouched,
|
|
39
|
+
isChanged,
|
|
40
|
+
hasValue: typeof value !== undefined,
|
|
41
|
+
hasError: actualHasError,
|
|
42
|
+
icon,
|
|
43
|
+
dataset,
|
|
44
|
+
},
|
|
45
|
+
inputProps: {
|
|
46
|
+
id: actualId,
|
|
47
|
+
value,
|
|
48
|
+
onFocus: handleFocus,
|
|
49
|
+
onBlur: handleBlur,
|
|
50
|
+
onChange: handleChange,
|
|
51
|
+
required,
|
|
52
|
+
disabled,
|
|
53
|
+
hasError: actualHasError,
|
|
54
|
+
dataset: inputDataset,
|
|
55
|
+
'aria-describedby': describeId,
|
|
56
|
+
max,
|
|
57
|
+
min,
|
|
58
|
+
...rest,
|
|
59
|
+
},
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
export { useNumberField };
|
|
64
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlTnVtYmVyRmllbGQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9maWVsZC9ob29rcy91c2VOdW1iZXJGaWVsZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtYWtlVGlueUlkIH0gZnJvbSAnQHByZXBseS9kcy1jb3JlJztcbmltcG9ydCB7IENoYW5nZUV2ZW50SGFuZGxlciwgdXNlQ2FsbGJhY2ssIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBtYWtlRGVzY0lkIH0gZnJvbSAnLi4vLi4vYWNjZXNzaWJpbGl0eS9hcmlhL3V0aWxzJztcbmltcG9ydCB0eXBlIHsgRm9jdXNFdmVudEhhbmRsZXIgfSBmcm9tICcuLi8uLi9ldmVudHMnO1xuaW1wb3J0IHR5cGUgeyBJbnB1dE51bWJlclByb3BzIH0gZnJvbSAnLi4vLi4vaW5wdXQnO1xuaW1wb3J0IHR5cGUgeyBGaWVsZExheW91dFByb3BzLCBOdW1iZXJGaWVsZFByb3BzIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG50eXBlIFVzZU51bWJlckZpZWxkU3RhdGUgPSB7XG4gICAgbGF5b3V0UHJvcHM6IE9taXQ8RmllbGRMYXlvdXRQcm9wcywgJ2lucHV0JyB8ICdjbGFzc05hbWUnIHwgJ2lucHV0SGFuZGxlJyB8ICdidXR0b24nPjtcbiAgICBpbnB1dFByb3BzOiBJbnB1dE51bWJlclByb3BzO1xufTtcblxuZXhwb3J0IGNvbnN0IHVzZU51bWJlckZpZWxkID0gKFxuICAgIHByb3BzOiBOdW1iZXJGaWVsZFByb3BzICYgT21pdDxJbnB1dE51bWJlclByb3BzLCAnaWQnPixcbik6IFVzZU51bWJlckZpZWxkU3RhdGUgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgICAgaWQsXG4gICAgICAgIHZhbHVlLFxuICAgICAgICBsYWJlbCxcbiAgICAgICAgaGlkZUxhYmVsLFxuICAgICAgICBwcmVzZXJ2ZVNwYWNlLFxuICAgICAgICByZXF1aXJlZCxcbiAgICAgICAgcmVxdWlyZWRMYWJlbCxcbiAgICAgICAgYWRkaXRpb25hbFRleHQsXG4gICAgICAgIGRpc2FibGVkLFxuICAgICAgICBoYXNFcnJvcixcbiAgICAgICAgZXJyb3JNZXNzYWdlLFxuICAgICAgICBpY29uLFxuICAgICAgICBvbkZvY3VzLFxuICAgICAgICBvbkJsdXIsXG4gICAgICAgIG9uQ2hhbmdlLFxuICAgICAgICBpbnB1dERhdGFzZXQsXG4gICAgICAgIGRhdGFzZXQsXG4gICAgICAgIG1heCxcbiAgICAgICAgbWluLFxuICAgICAgICAuLi5yZXN0XG4gICAgfSA9IHByb3BzO1xuICAgIGNvbnN0IGFjdHVhbElkID0gaWQgfHwgbWFrZVRpbnlJZCgpO1xuICAgIGNvbnN0IFtpc0ZvY3VzZWQsIHNldElzRm9jdXNlZF0gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG4gICAgY29uc3QgW2lzVG91Y2hlZCwgc2V0SXNUb3VjaGVkXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcbiAgICBjb25zdCBbaXNDaGFuZ2VkLCBzZXRJc0NoYW5nZWRdID0gdXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gICAgY29uc3QgaGFuZGxlRm9jdXM6IEZvY3VzRXZlbnRIYW5kbGVyID0gdXNlQ2FsbGJhY2soZXYgPT4ge1xuICAgICAgICBzZXRJc0ZvY3VzZWQodHJ1ZSk7XG4gICAgICAgIHNldElzVG91Y2hlZCh0cnVlKTtcbiAgICAgICAgb25Gb2N1cz8uKGV2KTtcbiAgICB9LCBbXSk7XG4gICAgY29uc3QgaGFuZGxlQmx1cjogRm9jdXNFdmVudEhhbmRsZXIgPSB1c2VDYWxsYmFjayhldiA9PiB7XG4gICAgICAgIHNldElzRm9jdXNlZChmYWxzZSk7XG4gICAgICAgIG9uQmx1cj8uKGV2KTtcbiAgICB9LCBbXSk7XG4gICAgY29uc3QgaGFuZGxlQ2hhbmdlOiBDaGFuZ2VFdmVudEhhbmRsZXIgPSB1c2VDYWxsYmFjayhldiA9PiB7XG4gICAgICAgIHNldElzQ2hhbmdlZChmYWxzZSk7XG4gICAgICAgIG9uQ2hhbmdlPy4oZXYpO1xuICAgIH0sIFtdKTtcblxuICAgIGNvbnN0IGFjdHVhbEhhc0Vycm9yID0gaGFzRXJyb3IgfHwgISFlcnJvck1lc3NhZ2U7XG4gICAgY29uc3QgYWN0dWFsQWRkaXRpb25hbFRleHQgPSBlcnJvck1lc3NhZ2UgfHwgYWRkaXRpb25hbFRleHQ7XG4gICAgY29uc3QgZGVzY3JpYmVJZCA9IGFjdHVhbEhhc0Vycm9yIHx8ICEhYWRkaXRpb25hbFRleHQgPyBtYWtlRGVzY0lkKGFjdHVhbElkKSA6IHVuZGVmaW5lZDtcbiAgICByZXR1cm4ge1xuICAgICAgICBsYXlvdXRQcm9wczoge1xuICAgICAgICAgICAgaWQ6IGFjdHVhbElkLFxuICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICBoaWRlTGFiZWwsXG4gICAgICAgICAgICByZXF1aXJlZCxcbiAgICAgICAgICAgIHJlcXVpcmVkTGFiZWwsXG4gICAgICAgICAgICBhZGRpdGlvbmFsVGV4dDogYWN0dWFsQWRkaXRpb25hbFRleHQsXG4gICAgICAgICAgICBwcmVzZXJ2ZVNwYWNlLFxuICAgICAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgICAgICBpc0ZvY3VzZWQsXG4gICAgICAgICAgICBpc1RvdWNoZWQsXG4gICAgICAgICAgICBpc0NoYW5nZWQsXG4gICAgICAgICAgICBoYXNWYWx1ZTogdHlwZW9mIHZhbHVlICE9PSB1bmRlZmluZWQsXG4gICAgICAgICAgICBoYXNFcnJvcjogYWN0dWFsSGFzRXJyb3IsXG4gICAgICAgICAgICBpY29uLFxuICAgICAgICAgICAgZGF0YXNldCxcbiAgICAgICAgfSxcbiAgICAgICAgaW5wdXRQcm9wczoge1xuICAgICAgICAgICAgaWQ6IGFjdHVhbElkLFxuICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICBvbkZvY3VzOiBoYW5kbGVGb2N1cyxcbiAgICAgICAgICAgIG9uQmx1cjogaGFuZGxlQmx1cixcbiAgICAgICAgICAgIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsXG4gICAgICAgICAgICByZXF1aXJlZCxcbiAgICAgICAgICAgIGRpc2FibGVkLFxuICAgICAgICAgICAgaGFzRXJyb3I6IGFjdHVhbEhhc0Vycm9yLFxuICAgICAgICAgICAgZGF0YXNldDogaW5wdXREYXRhc2V0LFxuICAgICAgICAgICAgJ2FyaWEtZGVzY3JpYmVkYnknOiBkZXNjcmliZUlkLFxuICAgICAgICAgICAgbWF4LFxuICAgICAgICAgICAgbWluLFxuICAgICAgICAgICAgLi4ucmVzdCxcbiAgICAgICAgfSxcbiAgICB9O1xufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O01BYWEsY0FBYyxHQUFHLENBQzFCLEtBQXNEO0lBRXRELE1BQU0sRUFDRixFQUFFLEVBQ0YsS0FBSyxFQUNMLEtBQUssRUFDTCxTQUFTLEVBQ1QsYUFBYSxFQUNiLFFBQVEsRUFDUixhQUFhLEVBQ2IsY0FBYyxFQUNkLFFBQVEsRUFDUixRQUFRLEVBQ1IsWUFBWSxFQUNaLElBQUksRUFDSixPQUFPLEVBQ1AsTUFBTSxFQUNOLFFBQVEsRUFDUixZQUFZLEVBQ1osT0FBTyxFQUNQLEdBQUcsRUFDSCxHQUFHLEVBQ0gsR0FBRyxJQUFJLEVBQ1YsR0FBRyxLQUFLLENBQUM7SUFDVixNQUFNLFFBQVEsR0FBRyxFQUFFLElBQUksVUFBVSxFQUFFLENBQUM7SUFDcEMsTUFBTSxDQUFDLFNBQVMsRUFBRSxZQUFZLENBQUMsR0FBRyxRQUFRLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDM0QsTUFBTSxDQUFDLFNBQVMsRUFBRSxZQUFZLENBQUMsR0FBRyxRQUFRLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDM0QsTUFBTSxDQUFDLFNBQVMsRUFBRSxZQUFZLENBQUMsR0FBRyxRQUFRLENBQVUsS0FBSyxDQUFDLENBQUM7SUFFM0QsTUFBTSxXQUFXLEdBQXNCLFdBQVcsQ0FBQyxFQUFFO1FBQ2pELFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQixZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkIsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFHLEVBQUUsRUFBRTtLQUNqQixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ1AsTUFBTSxVQUFVLEdBQXNCLFdBQVcsQ0FBQyxFQUFFO1FBQ2hELFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQixNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUcsRUFBRSxFQUFFO0tBQ2hCLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDUCxNQUFNLFlBQVksR0FBdUIsV0FBVyxDQUFDLEVBQUU7UUFDbkQsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BCLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRyxFQUFFLEVBQUU7S0FDbEIsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUVQLE1BQU0sY0FBYyxHQUFHLFFBQVEsSUFBSSxDQUFDLENBQUMsWUFBWSxDQUFDO0lBQ2xELE1BQU0sb0JBQW9CLEdBQUcsWUFBWSxJQUFJLGNBQWMsQ0FBQztJQUM1RCxNQUFNLFVBQVUsR0FBRyxjQUFjLElBQUksQ0FBQyxDQUFDLGNBQWMsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsU0FBUyxDQUFDO0lBQ3pGLE9BQU87UUFDSCxXQUFXLEVBQUU7WUFDVCxFQUFFLEVBQUUsUUFBUTtZQUNaLEtBQUs7WUFDTCxTQUFTO1lBQ1QsUUFBUTtZQUNSLGFBQWE7WUFDYixjQUFjLEVBQUUsb0JBQW9CO1lBQ3BDLGFBQWE7WUFDYixRQUFRO1lBQ1IsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1lBQ1QsUUFBUSxFQUFFLE9BQU8sS0FBSyxLQUFLLFNBQVM7WUFDcEMsUUFBUSxFQUFFLGNBQWM7WUFDeEIsSUFBSTtZQUNKLE9BQU87U0FDVjtRQUNELFVBQVUsRUFBRTtZQUNSLEVBQUUsRUFBRSxRQUFRO1lBQ1osS0FBSztZQUNMLE9BQU8sRUFBRSxXQUFXO1lBQ3BCLE1BQU0sRUFBRSxVQUFVO1lBQ2xCLFFBQVEsRUFBRSxZQUFZO1lBQ3RCLFFBQVE7WUFDUixRQUFRO1lBQ1IsUUFBUSxFQUFFLGNBQWM7WUFDeEIsT0FBTyxFQUFFLFlBQVk7WUFDckIsa0JBQWtCLEVBQUUsVUFBVTtZQUM5QixHQUFHO1lBQ0gsR0FBRztZQUNILEdBQUcsSUFBSTtTQUNWO0tBQ0osQ0FBQztBQUNOOzs7OyJ9
|
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
import { makeTinyId } from '@preply/ds-core';
|
|
2
|
-
import { useState } from 'react';
|
|
2
|
+
import { useState, useCallback } from 'react';
|
|
3
3
|
import { makeDescId } from '../../accessibility/aria/utils.js';
|
|
4
4
|
import { AUTO_COMPLETE_TEXT_DEFAULT } from '../../input/constants.js';
|
|
5
5
|
|
|
6
6
|
const usePasswordField = (props) => {
|
|
7
|
-
const { id, value, label, hideLabel, preserveSpace, required, requiredLabel, additionalText, disabled, hasError, errorMessage,
|
|
7
|
+
const { id, value, label, hideLabel, preserveSpace, required, requiredLabel, additionalText, disabled, hasError, errorMessage, onFocus, onBlur, onChange, autoComplete = AUTO_COMPLETE_TEXT_DEFAULT, inputDataset, dataset, ...rest } = props;
|
|
8
8
|
const actualId = id || makeTinyId();
|
|
9
9
|
const [isFocused, setIsFocused] = useState(false);
|
|
10
10
|
const [isTouched, setIsTouched] = useState(false);
|
|
11
11
|
const [isChanged, setIsChanged] = useState(false);
|
|
12
|
-
const handleFocus = ev => {
|
|
12
|
+
const handleFocus = useCallback(ev => {
|
|
13
13
|
setIsFocused(true);
|
|
14
14
|
setIsTouched(true);
|
|
15
15
|
onFocus === null || onFocus === void 0 ? void 0 : onFocus(ev);
|
|
16
|
-
};
|
|
17
|
-
const handleBlur = ev => {
|
|
16
|
+
}, []);
|
|
17
|
+
const handleBlur = useCallback(ev => {
|
|
18
18
|
setIsFocused(false);
|
|
19
19
|
onBlur === null || onBlur === void 0 ? void 0 : onBlur(ev);
|
|
20
|
-
};
|
|
21
|
-
const handleChange = ev => {
|
|
20
|
+
}, []);
|
|
21
|
+
const handleChange = useCallback(ev => {
|
|
22
22
|
setIsChanged(false);
|
|
23
23
|
onChange === null || onChange === void 0 ? void 0 : onChange(ev);
|
|
24
|
-
};
|
|
24
|
+
}, []);
|
|
25
25
|
const actualHasError = hasError || !!errorMessage;
|
|
26
26
|
const actualAdditionalText = errorMessage || additionalText;
|
|
27
27
|
const describeId = actualHasError || !!additionalText ? makeDescId(actualId) : undefined;
|
|
@@ -40,16 +40,14 @@ const usePasswordField = (props) => {
|
|
|
40
40
|
isChanged,
|
|
41
41
|
hasValue: typeof value !== undefined,
|
|
42
42
|
hasError: actualHasError,
|
|
43
|
-
onClick,
|
|
44
43
|
dataset,
|
|
45
44
|
},
|
|
46
45
|
inputProps: {
|
|
47
46
|
id: actualId,
|
|
48
47
|
value,
|
|
49
|
-
onClick,
|
|
50
|
-
onChange: handleChange,
|
|
51
48
|
onFocus: handleFocus,
|
|
52
49
|
onBlur: handleBlur,
|
|
50
|
+
onChange: handleChange,
|
|
53
51
|
required,
|
|
54
52
|
disabled,
|
|
55
53
|
hasError: actualHasError,
|
|
@@ -62,4 +60,4 @@ const usePasswordField = (props) => {
|
|
|
62
60
|
};
|
|
63
61
|
|
|
64
62
|
export { usePasswordField };
|
|
65
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlUGFzc3dvcmRGaWVsZC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ZpZWxkL2hvb2tzL3VzZVBhc3N3b3JkRmllbGQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbWFrZVRpbnlJZCB9IGZyb20gJ0BwcmVwbHkvZHMtY29yZSc7XG5pbXBvcnQgeyBDaGFuZ2VFdmVudEhhbmRsZXIsIHVzZUNhbGxiYWNrLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgbWFrZURlc2NJZCB9IGZyb20gJy4uLy4uL2FjY2Vzc2liaWxpdHkvYXJpYS91dGlscyc7XG5pbXBvcnQgdHlwZSB7IEZvY3VzRXZlbnRIYW5kbGVyIH0gZnJvbSAnLi4vLi4vZXZlbnRzJztcbmltcG9ydCB0eXBlIHsgSW5wdXRQYXNzd29yZFByb3BzIH0gZnJvbSAnLi4vLi4vaW5wdXQnO1xuaW1wb3J0IHsgQVVUT19DT01QTEVURV9URVhUX0RFRkFVTFQgfSBmcm9tICcuLi8uLi9pbnB1dCc7XG5pbXBvcnQgdHlwZSB7IEZpZWxkTGF5b3V0UHJvcHMsIFBhc3N3b3JkRmllbGRQcm9wcyB9IGZyb20gJy4uL3R5cGVzJztcblxudHlwZSBVc2VQYXNzd29yZEZpZWxkU3RhdGUgPSB7XG4gICAgbGF5b3V0UHJvcHM6IE9taXQ8RmllbGRMYXlvdXRQcm9wcywgJ2lucHV0JyB8ICdjbGFzc05hbWUnIHwgJ2lucHV0SGFuZGxlJz47XG4gICAgaW5wdXRQcm9wczogSW5wdXRQYXNzd29yZFByb3BzO1xufTtcblxuZXhwb3J0IGNvbnN0IHVzZVBhc3N3b3JkRmllbGQgPSAocHJvcHM6IFBhc3N3b3JkRmllbGRQcm9wcyk6IFVzZVBhc3N3b3JkRmllbGRTdGF0ZSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgICBpZCxcbiAgICAgICAgdmFsdWUsXG4gICAgICAgIGxhYmVsLFxuICAgICAgICBoaWRlTGFiZWwsXG4gICAgICAgIHByZXNlcnZlU3BhY2UsXG4gICAgICAgIHJlcXVpcmVkLFxuICAgICAgICByZXF1aXJlZExhYmVsLFxuICAgICAgICBhZGRpdGlvbmFsVGV4dCxcbiAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgIGhhc0Vycm9yLFxuICAgICAgICBlcnJvck1lc3NhZ2UsXG4gICAgICAgIG9uRm9jdXMsXG4gICAgICAgIG9uQmx1cixcbiAgICAgICAgb25DaGFuZ2UsXG4gICAgICAgIGF1dG9Db21wbGV0ZSA9IEFVVE9fQ09NUExFVEVfVEVYVF9ERUZBVUxULFxuICAgICAgICBpbnB1dERhdGFzZXQsXG4gICAgICAgIGRhdGFzZXQsXG4gICAgICAgIC4uLnJlc3RcbiAgICB9ID0gcHJvcHM7XG5cbiAgICBjb25zdCBhY3R1YWxJZCA9IGlkIHx8IG1ha2VUaW55SWQoKTtcbiAgICBjb25zdCBbaXNGb2N1c2VkLCBzZXRJc0ZvY3VzZWRdID0gdXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIGNvbnN0IFtpc1RvdWNoZWQsIHNldElzVG91Y2hlZF0gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG4gICAgY29uc3QgW2lzQ2hhbmdlZCwgc2V0SXNDaGFuZ2VkXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcblxuICAgIGNvbnN0IGhhbmRsZUZvY3VzOiBGb2N1c0V2ZW50SGFuZGxlciA9IHVzZUNhbGxiYWNrKGV2ID0+IHtcbiAgICAgICAgc2V0SXNGb2N1c2VkKHRydWUpO1xuICAgICAgICBzZXRJc1RvdWNoZWQodHJ1ZSk7XG4gICAgICAgIG9uRm9jdXM/Lihldik7XG4gICAgfSwgW10pO1xuICAgIGNvbnN0IGhhbmRsZUJsdXI6IEZvY3VzRXZlbnRIYW5kbGVyID0gdXNlQ2FsbGJhY2soZXYgPT4ge1xuICAgICAgICBzZXRJc0ZvY3VzZWQoZmFsc2UpO1xuICAgICAgICBvbkJsdXI/Lihldik7XG4gICAgfSwgW10pO1xuICAgIGNvbnN0IGhhbmRsZUNoYW5nZTogQ2hhbmdlRXZlbnRIYW5kbGVyID0gdXNlQ2FsbGJhY2soZXYgPT4ge1xuICAgICAgICBzZXRJc0NoYW5nZWQoZmFsc2UpO1xuICAgICAgICBvbkNoYW5nZT8uKGV2KTtcbiAgICB9LCBbXSk7XG5cbiAgICBjb25zdCBhY3R1YWxIYXNFcnJvciA9IGhhc0Vycm9yIHx8ICEhZXJyb3JNZXNzYWdlO1xuICAgIGNvbnN0IGFjdHVhbEFkZGl0aW9uYWxUZXh0ID0gZXJyb3JNZXNzYWdlIHx8IGFkZGl0aW9uYWxUZXh0O1xuICAgIGNvbnN0IGRlc2NyaWJlSWQgPSBhY3R1YWxIYXNFcnJvciB8fCAhIWFkZGl0aW9uYWxUZXh0ID8gbWFrZURlc2NJZChhY3R1YWxJZCkgOiB1bmRlZmluZWQ7XG5cbiAgICByZXR1cm4ge1xuICAgICAgICBsYXlvdXRQcm9wczoge1xuICAgICAgICAgICAgaWQ6IGFjdHVhbElkLFxuICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICBoaWRlTGFiZWwsXG4gICAgICAgICAgICByZXF1aXJlZCxcbiAgICAgICAgICAgIHJlcXVpcmVkTGFiZWwsXG4gICAgICAgICAgICBhZGRpdGlvbmFsVGV4dDogYWN0dWFsQWRkaXRpb25hbFRleHQsXG4gICAgICAgICAgICBwcmVzZXJ2ZVNwYWNlLFxuICAgICAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgICAgICBpc0ZvY3VzZWQsXG4gICAgICAgICAgICBpc1RvdWNoZWQsXG4gICAgICAgICAgICBpc0NoYW5nZWQsXG4gICAgICAgICAgICBoYXNWYWx1ZTogdHlwZW9mIHZhbHVlICE9PSB1bmRlZmluZWQsXG4gICAgICAgICAgICBoYXNFcnJvcjogYWN0dWFsSGFzRXJyb3IsXG4gICAgICAgICAgICBkYXRhc2V0LFxuICAgICAgICB9LFxuICAgICAgICBpbnB1dFByb3BzOiB7XG4gICAgICAgICAgICBpZDogYWN0dWFsSWQsXG4gICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgIG9uRm9jdXM6IGhhbmRsZUZvY3VzLFxuICAgICAgICAgICAgb25CbHVyOiBoYW5kbGVCbHVyLFxuICAgICAgICAgICAgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSxcbiAgICAgICAgICAgIHJlcXVpcmVkLFxuICAgICAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgICAgICBoYXNFcnJvcjogYWN0dWFsSGFzRXJyb3IsXG4gICAgICAgICAgICBhdXRvQ29tcGxldGUsXG4gICAgICAgICAgICBkYXRhc2V0OiBpbnB1dERhdGFzZXQsXG4gICAgICAgICAgICAnYXJpYS1kZXNjcmliZWRieSc6IGRlc2NyaWJlSWQsXG4gICAgICAgICAgICAuLi5yZXN0LFxuICAgICAgICB9LFxuICAgIH07XG59O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O01BY2EsZ0JBQWdCLEdBQUcsQ0FBQyxLQUF5QjtJQUN0RCxNQUFNLEVBQ0YsRUFBRSxFQUNGLEtBQUssRUFDTCxLQUFLLEVBQ0wsU0FBUyxFQUNULGFBQWEsRUFDYixRQUFRLEVBQ1IsYUFBYSxFQUNiLGNBQWMsRUFDZCxRQUFRLEVBQ1IsUUFBUSxFQUNSLFlBQVksRUFDWixPQUFPLEVBQ1AsTUFBTSxFQUNOLFFBQVEsRUFDUixZQUFZLEdBQUcsMEJBQTBCLEVBQ3pDLFlBQVksRUFDWixPQUFPLEVBQ1AsR0FBRyxJQUFJLEVBQ1YsR0FBRyxLQUFLLENBQUM7SUFFVixNQUFNLFFBQVEsR0FBRyxFQUFFLElBQUksVUFBVSxFQUFFLENBQUM7SUFDcEMsTUFBTSxDQUFDLFNBQVMsRUFBRSxZQUFZLENBQUMsR0FBRyxRQUFRLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDM0QsTUFBTSxDQUFDLFNBQVMsRUFBRSxZQUFZLENBQUMsR0FBRyxRQUFRLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDM0QsTUFBTSxDQUFDLFNBQVMsRUFBRSxZQUFZLENBQUMsR0FBRyxRQUFRLENBQVUsS0FBSyxDQUFDLENBQUM7SUFFM0QsTUFBTSxXQUFXLEdBQXNCLFdBQVcsQ0FBQyxFQUFFO1FBQ2pELFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQixZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkIsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFHLEVBQUUsRUFBRTtLQUNqQixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ1AsTUFBTSxVQUFVLEdBQXNCLFdBQVcsQ0FBQyxFQUFFO1FBQ2hELFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQixNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUcsRUFBRSxFQUFFO0tBQ2hCLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDUCxNQUFNLFlBQVksR0FBdUIsV0FBVyxDQUFDLEVBQUU7UUFDbkQsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BCLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRyxFQUFFLEVBQUU7S0FDbEIsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUVQLE1BQU0sY0FBYyxHQUFHLFFBQVEsSUFBSSxDQUFDLENBQUMsWUFBWSxDQUFDO0lBQ2xELE1BQU0sb0JBQW9CLEdBQUcsWUFBWSxJQUFJLGNBQWMsQ0FBQztJQUM1RCxNQUFNLFVBQVUsR0FBRyxjQUFjLElBQUksQ0FBQyxDQUFDLGNBQWMsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsU0FBUyxDQUFDO0lBRXpGLE9BQU87UUFDSCxXQUFXLEVBQUU7WUFDVCxFQUFFLEVBQUUsUUFBUTtZQUNaLEtBQUs7WUFDTCxTQUFTO1lBQ1QsUUFBUTtZQUNSLGFBQWE7WUFDYixjQUFjLEVBQUUsb0JBQW9CO1lBQ3BDLGFBQWE7WUFDYixRQUFRO1lBQ1IsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1lBQ1QsUUFBUSxFQUFFLE9BQU8sS0FBSyxLQUFLLFNBQVM7WUFDcEMsUUFBUSxFQUFFLGNBQWM7WUFDeEIsT0FBTztTQUNWO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsRUFBRSxFQUFFLFFBQVE7WUFDWixLQUFLO1lBQ0wsT0FBTyxFQUFFLFdBQVc7WUFDcEIsTUFBTSxFQUFFLFVBQVU7WUFDbEIsUUFBUSxFQUFFLFlBQVk7WUFDdEIsUUFBUTtZQUNSLFFBQVE7WUFDUixRQUFRLEVBQUUsY0FBYztZQUN4QixZQUFZO1lBQ1osT0FBTyxFQUFFLFlBQVk7WUFDckIsa0JBQWtCLEVBQUUsVUFBVTtZQUM5QixHQUFHLElBQUk7U0FDVjtLQUNKLENBQUM7QUFDTjs7OzsifQ==
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { SelectProps } from '../../input';
|
|
3
|
+
import type { FieldLayoutProps } from '../types';
|
|
4
|
+
declare type UseSelectFieldState = {
|
|
5
|
+
layoutProps: Omit<FieldLayoutProps, 'input' | 'className' | 'inputHandle'>;
|
|
6
|
+
inputProps: SelectProps;
|
|
7
|
+
};
|
|
8
|
+
export declare const useSelectField: (props: import("../types").FieldCommonProps & Pick<SelectProps, "children" | "required" | "disabled" | "hasError" | "dataset" | "onClick" | "placeholder" | "name" | "value" | "defaultValue" | "onChange" | "onFocus" | "onBlur" | "onKeyDown" | "onKeyUp" | "onValueChange"> & {
|
|
9
|
+
id?: string | undefined;
|
|
10
|
+
} & {
|
|
11
|
+
icon?: import("react").ReactElement<import("../..").IconProps, string | ((props: any) => import("react").ReactElement<any, string | any | (new (props: any) => import("react").Component<any, any, any>)> | null) | (new (props: any) => import("react").Component<any, any, any>)> | undefined;
|
|
12
|
+
children?: string | number | boolean | {} | import("react").ReactElement<any, string | ((props: any) => import("react").ReactElement<any, string | any | (new (props: any) => import("react").Component<any, any, any>)> | null) | (new (props: any) => import("react").Component<any, any, any>)> | import("react").ReactNodeArray | import("react").ReactPortal | import("react").ReactNode[] | null | undefined;
|
|
13
|
+
} & Pick<SelectProps, "children" | "required" | "disabled" | "hasError" | "dataset" | "onClick" | "aria-describedby" | "aria-disabled" | "aria-invalid" | "aria-required" | "placeholder" | "name" | "value" | "defaultValue" | "onChange" | "onFocus" | "onBlur" | "onKeyDown" | "onKeyUp" | "onValueChange">) => UseSelectFieldState;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { makeTinyId } from '@preply/ds-core';
|
|
2
|
+
import { useState, useCallback, useEffect } from 'react';
|
|
3
|
+
import { makeDescId } from '../../accessibility/aria/utils.js';
|
|
4
|
+
|
|
5
|
+
const useSelectField = (props) => {
|
|
6
|
+
const { id, value, label, hideLabel, preserveSpace, required, requiredLabel, additionalText, disabled, hasError, errorMessage, icon, onFocus, onBlur, onChange, inputDataset, dataset, placeholder, defaultValue, ...rest } = props;
|
|
7
|
+
const actualId = id || makeTinyId();
|
|
8
|
+
const [isFocused, setIsFocused] = useState(false);
|
|
9
|
+
const [isTouched, setIsTouched] = useState(false);
|
|
10
|
+
const [isChanged, setIsChanged] = useState(false);
|
|
11
|
+
const [hasValue, setHasValue] = useState(!!(value || defaultValue));
|
|
12
|
+
const handleFocus = useCallback(ev => {
|
|
13
|
+
setIsFocused(true);
|
|
14
|
+
setIsTouched(true);
|
|
15
|
+
onFocus === null || onFocus === void 0 ? void 0 : onFocus(ev);
|
|
16
|
+
}, []);
|
|
17
|
+
const handleBlur = useCallback(ev => {
|
|
18
|
+
setIsFocused(false);
|
|
19
|
+
onBlur === null || onBlur === void 0 ? void 0 : onBlur(ev);
|
|
20
|
+
}, []);
|
|
21
|
+
const handleChange = useCallback((ev) => {
|
|
22
|
+
setIsChanged(true);
|
|
23
|
+
setHasValue(!!ev.target.value);
|
|
24
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(ev);
|
|
25
|
+
}, []);
|
|
26
|
+
const hasControlledValue = !!value;
|
|
27
|
+
useEffect(() => {
|
|
28
|
+
if (defaultValue)
|
|
29
|
+
return;
|
|
30
|
+
setHasValue(hasControlledValue);
|
|
31
|
+
}, [hasControlledValue]);
|
|
32
|
+
const actualHasError = hasError || !!errorMessage;
|
|
33
|
+
const actualAdditionalText = errorMessage || additionalText;
|
|
34
|
+
const describeId = actualHasError || !!additionalText ? makeDescId(actualId) : undefined;
|
|
35
|
+
return {
|
|
36
|
+
layoutProps: {
|
|
37
|
+
id: actualId,
|
|
38
|
+
label,
|
|
39
|
+
hideLabel,
|
|
40
|
+
required,
|
|
41
|
+
requiredLabel,
|
|
42
|
+
additionalText: actualAdditionalText,
|
|
43
|
+
preserveSpace,
|
|
44
|
+
disabled,
|
|
45
|
+
isFocused,
|
|
46
|
+
isTouched,
|
|
47
|
+
isChanged,
|
|
48
|
+
hasValue,
|
|
49
|
+
hasError: actualHasError,
|
|
50
|
+
icon,
|
|
51
|
+
dataset,
|
|
52
|
+
},
|
|
53
|
+
inputProps: {
|
|
54
|
+
id: actualId,
|
|
55
|
+
value,
|
|
56
|
+
onFocus: handleFocus,
|
|
57
|
+
onBlur: handleBlur,
|
|
58
|
+
onChange: handleChange,
|
|
59
|
+
required,
|
|
60
|
+
disabled,
|
|
61
|
+
hasError: actualHasError,
|
|
62
|
+
dataset: inputDataset,
|
|
63
|
+
'aria-describedby': describeId,
|
|
64
|
+
placeholder,
|
|
65
|
+
defaultValue,
|
|
66
|
+
...rest,
|
|
67
|
+
},
|
|
68
|
+
};
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
export { useSelectField };
|
|
72
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlU2VsZWN0RmllbGQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9maWVsZC9ob29rcy91c2VTZWxlY3RGaWVsZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtYWtlVGlueUlkIH0gZnJvbSAnQHByZXBseS9kcy1jb3JlJztcbmltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBtYWtlRGVzY0lkIH0gZnJvbSAnLi4vLi4vYWNjZXNzaWJpbGl0eS9hcmlhL3V0aWxzJztcbmltcG9ydCB0eXBlIHsgRm9jdXNFdmVudEhhbmRsZXIgfSBmcm9tICcuLi8uLi9ldmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTZWxlY3RQcm9wcyB9IGZyb20gJy4uLy4uL2lucHV0JztcbmltcG9ydCB0eXBlIHsgRmllbGRMYXlvdXRQcm9wcywgU2VsZWN0RmllbGRQcm9wcyB9IGZyb20gJy4uL3R5cGVzJztcblxudHlwZSBVc2VTZWxlY3RGaWVsZFN0YXRlID0ge1xuICAgIGxheW91dFByb3BzOiBPbWl0PEZpZWxkTGF5b3V0UHJvcHMsICdpbnB1dCcgfCAnY2xhc3NOYW1lJyB8ICdpbnB1dEhhbmRsZSc+O1xuICAgIGlucHV0UHJvcHM6IFNlbGVjdFByb3BzO1xufTtcblxuZXhwb3J0IGNvbnN0IHVzZVNlbGVjdEZpZWxkID0gKFxuICAgIHByb3BzOiBTZWxlY3RGaWVsZFByb3BzICYgT21pdDxTZWxlY3RQcm9wcywgJ2lkJz4sXG4pOiBVc2VTZWxlY3RGaWVsZFN0YXRlID0+IHtcbiAgICBjb25zdCB7XG4gICAgICAgIGlkLFxuICAgICAgICB2YWx1ZSxcbiAgICAgICAgbGFiZWwsXG4gICAgICAgIGhpZGVMYWJlbCxcbiAgICAgICAgcHJlc2VydmVTcGFjZSxcbiAgICAgICAgcmVxdWlyZWQsXG4gICAgICAgIHJlcXVpcmVkTGFiZWwsXG4gICAgICAgIGFkZGl0aW9uYWxUZXh0LFxuICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgaGFzRXJyb3IsXG4gICAgICAgIGVycm9yTWVzc2FnZSxcbiAgICAgICAgaWNvbixcbiAgICAgICAgb25Gb2N1cyxcbiAgICAgICAgb25CbHVyLFxuICAgICAgICBvbkNoYW5nZSxcbiAgICAgICAgaW5wdXREYXRhc2V0LFxuICAgICAgICBkYXRhc2V0LFxuICAgICAgICBwbGFjZWhvbGRlcixcbiAgICAgICAgZGVmYXVsdFZhbHVlLFxuICAgICAgICAuLi5yZXN0XG4gICAgfSA9IHByb3BzO1xuXG4gICAgY29uc3QgYWN0dWFsSWQgPSBpZCB8fCBtYWtlVGlueUlkKCk7XG4gICAgY29uc3QgW2lzRm9jdXNlZCwgc2V0SXNGb2N1c2VkXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcbiAgICBjb25zdCBbaXNUb3VjaGVkLCBzZXRJc1RvdWNoZWRdID0gdXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIGNvbnN0IFtpc0NoYW5nZWQsIHNldElzQ2hhbmdlZF0gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG4gICAgY29uc3QgW2hhc1ZhbHVlLCBzZXRIYXNWYWx1ZV0gPSB1c2VTdGF0ZTxib29sZWFuPighISh2YWx1ZSB8fCBkZWZhdWx0VmFsdWUpKTtcblxuICAgIGNvbnN0IGhhbmRsZUZvY3VzOiBGb2N1c0V2ZW50SGFuZGxlciA9IHVzZUNhbGxiYWNrKGV2ID0+IHtcbiAgICAgICAgc2V0SXNGb2N1c2VkKHRydWUpO1xuICAgICAgICBzZXRJc1RvdWNoZWQodHJ1ZSk7XG4gICAgICAgIG9uRm9jdXM/Lihldik7XG4gICAgfSwgW10pO1xuICAgIGNvbnN0IGhhbmRsZUJsdXI6IEZvY3VzRXZlbnRIYW5kbGVyID0gdXNlQ2FsbGJhY2soZXYgPT4ge1xuICAgICAgICBzZXRJc0ZvY3VzZWQoZmFsc2UpO1xuICAgICAgICBvbkJsdXI/Lihldik7XG4gICAgfSwgW10pO1xuICAgIGNvbnN0IGhhbmRsZUNoYW5nZSA9IHVzZUNhbGxiYWNrKChldjogUmVhY3QuQ2hhbmdlRXZlbnQ8SFRNTFNlbGVjdEVsZW1lbnQ+KSA9PiB7XG4gICAgICAgIHNldElzQ2hhbmdlZCh0cnVlKTtcbiAgICAgICAgc2V0SGFzVmFsdWUoISFldi50YXJnZXQudmFsdWUpO1xuICAgICAgICBvbkNoYW5nZT8uKGV2KTtcbiAgICB9LCBbXSk7XG5cbiAgICBjb25zdCBoYXNDb250cm9sbGVkVmFsdWUgPSAhIXZhbHVlO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmIChkZWZhdWx0VmFsdWUpIHJldHVybjtcblxuICAgICAgICBzZXRIYXNWYWx1ZShoYXNDb250cm9sbGVkVmFsdWUpO1xuICAgIH0sIFtoYXNDb250cm9sbGVkVmFsdWVdKTtcblxuICAgIGNvbnN0IGFjdHVhbEhhc0Vycm9yID0gaGFzRXJyb3IgfHwgISFlcnJvck1lc3NhZ2U7XG4gICAgY29uc3QgYWN0dWFsQWRkaXRpb25hbFRleHQgPSBlcnJvck1lc3NhZ2UgfHwgYWRkaXRpb25hbFRleHQ7XG4gICAgY29uc3QgZGVzY3JpYmVJZCA9IGFjdHVhbEhhc0Vycm9yIHx8ICEhYWRkaXRpb25hbFRleHQgPyBtYWtlRGVzY0lkKGFjdHVhbElkKSA6IHVuZGVmaW5lZDtcblxuICAgIHJldHVybiB7XG4gICAgICAgIGxheW91dFByb3BzOiB7XG4gICAgICAgICAgICBpZDogYWN0dWFsSWQsXG4gICAgICAgICAgICBsYWJlbCxcbiAgICAgICAgICAgIGhpZGVMYWJlbCxcbiAgICAgICAgICAgIHJlcXVpcmVkLFxuICAgICAgICAgICAgcmVxdWlyZWRMYWJlbCxcbiAgICAgICAgICAgIGFkZGl0aW9uYWxUZXh0OiBhY3R1YWxBZGRpdGlvbmFsVGV4dCxcbiAgICAgICAgICAgIHByZXNlcnZlU3BhY2UsXG4gICAgICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgICAgIGlzRm9jdXNlZCxcbiAgICAgICAgICAgIGlzVG91Y2hlZCxcbiAgICAgICAgICAgIGlzQ2hhbmdlZCxcbiAgICAgICAgICAgIGhhc1ZhbHVlLFxuICAgICAgICAgICAgaGFzRXJyb3I6IGFjdHVhbEhhc0Vycm9yLFxuICAgICAgICAgICAgaWNvbixcbiAgICAgICAgICAgIGRhdGFzZXQsXG4gICAgICAgIH0sXG4gICAgICAgIGlucHV0UHJvcHM6IHtcbiAgICAgICAgICAgIGlkOiBhY3R1YWxJZCxcbiAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgb25Gb2N1czogaGFuZGxlRm9jdXMsXG4gICAgICAgICAgICBvbkJsdXI6IGhhbmRsZUJsdXIsXG4gICAgICAgICAgICBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLFxuICAgICAgICAgICAgcmVxdWlyZWQsXG4gICAgICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgICAgIGhhc0Vycm9yOiBhY3R1YWxIYXNFcnJvcixcbiAgICAgICAgICAgIGRhdGFzZXQ6IGlucHV0RGF0YXNldCxcbiAgICAgICAgICAgICdhcmlhLWRlc2NyaWJlZGJ5JzogZGVzY3JpYmVJZCxcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyLFxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlLFxuICAgICAgICAgICAgLi4ucmVzdCxcbiAgICAgICAgfSxcbiAgICB9O1xufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O01BYWEsY0FBYyxHQUFHLENBQzFCLEtBQWlEO0lBRWpELE1BQU0sRUFDRixFQUFFLEVBQ0YsS0FBSyxFQUNMLEtBQUssRUFDTCxTQUFTLEVBQ1QsYUFBYSxFQUNiLFFBQVEsRUFDUixhQUFhLEVBQ2IsY0FBYyxFQUNkLFFBQVEsRUFDUixRQUFRLEVBQ1IsWUFBWSxFQUNaLElBQUksRUFDSixPQUFPLEVBQ1AsTUFBTSxFQUNOLFFBQVEsRUFDUixZQUFZLEVBQ1osT0FBTyxFQUNQLFdBQVcsRUFDWCxZQUFZLEVBQ1osR0FBRyxJQUFJLEVBQ1YsR0FBRyxLQUFLLENBQUM7SUFFVixNQUFNLFFBQVEsR0FBRyxFQUFFLElBQUksVUFBVSxFQUFFLENBQUM7SUFDcEMsTUFBTSxDQUFDLFNBQVMsRUFB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
|
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
import { makeTinyId } from '@preply/ds-core';
|
|
2
|
-
import { useState } from 'react';
|
|
2
|
+
import { useState, useCallback } from 'react';
|
|
3
3
|
import { makeDescId } from '../../accessibility/aria/utils.js';
|
|
4
4
|
import { FIELD_TYPE_DEFAULT } from '../constants.js';
|
|
5
5
|
import { AUTO_COMPLETE_TEXT_DEFAULT } from '../../input/constants.js';
|
|
6
6
|
|
|
7
7
|
const useTextField = (props) => {
|
|
8
|
-
const { type, id, value, label, hideLabel, preserveSpace, required, requiredLabel, additionalText, disabled, hasError, errorMessage, icon, button,
|
|
8
|
+
const { type, id, value, label, hideLabel, preserveSpace, required, requiredLabel, additionalText, disabled, hasError, errorMessage, icon, button, onFocus, onBlur, onChange, autoComplete = AUTO_COMPLETE_TEXT_DEFAULT, inputDataset, dataset, ...rest } = props;
|
|
9
9
|
const actualId = id || makeTinyId();
|
|
10
10
|
const actualType = type !== null && type !== void 0 ? type : FIELD_TYPE_DEFAULT;
|
|
11
11
|
const [isFocused, setIsFocused] = useState(false);
|
|
12
12
|
const [isTouched, setIsTouched] = useState(false);
|
|
13
13
|
const [isChanged, setIsChanged] = useState(false);
|
|
14
|
-
const handleFocus = ev => {
|
|
14
|
+
const handleFocus = useCallback(ev => {
|
|
15
15
|
setIsFocused(true);
|
|
16
16
|
setIsTouched(true);
|
|
17
17
|
onFocus === null || onFocus === void 0 ? void 0 : onFocus(ev);
|
|
18
|
-
};
|
|
19
|
-
const handleBlur = ev => {
|
|
18
|
+
}, []);
|
|
19
|
+
const handleBlur = useCallback(ev => {
|
|
20
20
|
setIsFocused(false);
|
|
21
21
|
onBlur === null || onBlur === void 0 ? void 0 : onBlur(ev);
|
|
22
|
-
};
|
|
23
|
-
const handleChange = ev => {
|
|
22
|
+
}, []);
|
|
23
|
+
const handleChange = useCallback(ev => {
|
|
24
24
|
setIsChanged(false);
|
|
25
25
|
onChange === null || onChange === void 0 ? void 0 : onChange(ev);
|
|
26
|
-
};
|
|
26
|
+
}, []);
|
|
27
27
|
const actualHasError = hasError || !!errorMessage;
|
|
28
28
|
const actualAdditionalText = errorMessage || additionalText;
|
|
29
29
|
const describeId = actualHasError || !!additionalText ? makeDescId(actualId) : undefined;
|
|
@@ -42,7 +42,6 @@ const useTextField = (props) => {
|
|
|
42
42
|
isChanged,
|
|
43
43
|
hasValue: typeof value !== undefined,
|
|
44
44
|
hasError: actualHasError,
|
|
45
|
-
onClick,
|
|
46
45
|
icon,
|
|
47
46
|
button,
|
|
48
47
|
dataset,
|
|
@@ -51,10 +50,9 @@ const useTextField = (props) => {
|
|
|
51
50
|
type: actualType,
|
|
52
51
|
id: actualId,
|
|
53
52
|
value,
|
|
54
|
-
onClick,
|
|
55
|
-
onChange: handleChange,
|
|
56
53
|
onFocus: handleFocus,
|
|
57
54
|
onBlur: handleBlur,
|
|
55
|
+
onChange: handleChange,
|
|
58
56
|
required,
|
|
59
57
|
disabled,
|
|
60
58
|
hasError: actualHasError,
|
|
@@ -67,4 +65,4 @@ const useTextField = (props) => {
|
|
|
67
65
|
};
|
|
68
66
|
|
|
69
67
|
export { useTextField };
|
|
70
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlVGV4dEZpZWxkLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZmllbGQvaG9va3MvdXNlVGV4dEZpZWxkLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1ha2VUaW55SWQgfSBmcm9tICdAcHJlcGx5L2RzLWNvcmUnO1xuaW1wb3J0IHsgQ2hhbmdlRXZlbnRIYW5kbGVyLCB1c2VDYWxsYmFjaywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IG1ha2VEZXNjSWQgfSBmcm9tICcuLi8uLi9hY2Nlc3NpYmlsaXR5L2FyaWEvdXRpbHMnO1xuaW1wb3J0IHR5cGUgeyBGb2N1c0V2ZW50SGFuZGxlciB9IGZyb20gJy4uLy4uL2V2ZW50cyc7XG5pbXBvcnQgdHlwZSB7IElucHV0VGV4dFByb3BzIH0gZnJvbSAnLi4vLi4vaW5wdXQnO1xuaW1wb3J0IHsgQVVUT19DT01QTEVURV9URVhUX0RFRkFVTFQgfSBmcm9tICcuLi8uLi9pbnB1dCc7XG5pbXBvcnQgeyBGSUVMRF9UWVBFX0RFRkFVTFQgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHR5cGUgeyBGaWVsZExheW91dFByb3BzLCBUZXh0RmllbGRQcm9wcyB9IGZyb20gJy4uL3R5cGVzJztcblxudHlwZSBVc2VUZXh0RmllbGRTdGF0ZSA9IHtcbiAgICBsYXlvdXRQcm9wczogT21pdDxGaWVsZExheW91dFByb3BzLCAnaW5wdXQnIHwgJ2NsYXNzTmFtZScgfCAnaW5wdXRIYW5kbGUnPjtcbiAgICBpbnB1dFByb3BzOiBJbnB1dFRleHRQcm9wcztcbn07XG5cbmV4cG9ydCBjb25zdCB1c2VUZXh0RmllbGQgPSAoXG4gICAgcHJvcHM6IFRleHRGaWVsZFByb3BzICYgT21pdDxJbnB1dFRleHRQcm9wcywgJ2lkJz4sXG4pOiBVc2VUZXh0RmllbGRTdGF0ZSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgICB0eXBlLFxuICAgICAgICBpZCxcbiAgICAgICAgdmFsdWUsXG4gICAgICAgIGxhYmVsLFxuICAgICAgICBoaWRlTGFiZWwsXG4gICAgICAgIHByZXNlcnZlU3BhY2UsXG4gICAgICAgIHJlcXVpcmVkLFxuICAgICAgICByZXF1aXJlZExhYmVsLFxuICAgICAgICBhZGRpdGlvbmFsVGV4dCxcbiAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgIGhhc0Vycm9yLFxuICAgICAgICBlcnJvck1lc3NhZ2UsXG4gICAgICAgIGljb24sXG4gICAgICAgIGJ1dHRvbixcbiAgICAgICAgb25Gb2N1cyxcbiAgICAgICAgb25CbHVyLFxuICAgICAgICBvbkNoYW5nZSxcbiAgICAgICAgYXV0b0NvbXBsZXRlID0gQVVUT19DT01QTEVURV9URVhUX0RFRkFVTFQsXG4gICAgICAgIGlucHV0RGF0YXNldCxcbiAgICAgICAgZGF0YXNldCxcbiAgICAgICAgLi4ucmVzdFxuICAgIH0gPSBwcm9wcztcblxuICAgIGNvbnN0IGFjdHVhbElkID0gaWQgfHwgbWFrZVRpbnlJZCgpO1xuICAgIGNvbnN0IGFjdHVhbFR5cGUgPSB0eXBlID8/IEZJRUxEX1RZUEVfREVGQVVMVDtcbiAgICBjb25zdCBbaXNGb2N1c2VkLCBzZXRJc0ZvY3VzZWRdID0gdXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIGNvbnN0IFtpc1RvdWNoZWQsIHNldElzVG91Y2hlZF0gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG4gICAgY29uc3QgW2lzQ2hhbmdlZCwgc2V0SXNDaGFuZ2VkXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcblxuICAgIGNvbnN0IGhhbmRsZUZvY3VzOiBGb2N1c0V2ZW50SGFuZGxlciA9IHVzZUNhbGxiYWNrKGV2ID0+IHtcbiAgICAgICAgc2V0SXNGb2N1c2VkKHRydWUpO1xuICAgICAgICBzZXRJc1RvdWNoZWQodHJ1ZSk7XG4gICAgICAgIG9uRm9jdXM/Lihldik7XG4gICAgfSwgW10pO1xuICAgIGNvbnN0IGhhbmRsZUJsdXI6IEZvY3VzRXZlbnRIYW5kbGVyID0gdXNlQ2FsbGJhY2soZXYgPT4ge1xuICAgICAgICBzZXRJc0ZvY3VzZWQoZmFsc2UpO1xuICAgICAgICBvbkJsdXI/Lihldik7XG4gICAgfSwgW10pO1xuICAgIGNvbnN0IGhhbmRsZUNoYW5nZTogQ2hhbmdlRXZlbnRIYW5kbGVyID0gdXNlQ2FsbGJhY2soZXYgPT4ge1xuICAgICAgICBzZXRJc0NoYW5nZWQoZmFsc2UpO1xuICAgICAgICBvbkNoYW5nZT8uKGV2KTtcbiAgICB9LCBbXSk7XG5cbiAgICBjb25zdCBhY3R1YWxIYXNFcnJvciA9IGhhc0Vycm9yIHx8ICEhZXJyb3JNZXNzYWdlO1xuICAgIGNvbnN0IGFjdHVhbEFkZGl0aW9uYWxUZXh0ID0gZXJyb3JNZXNzYWdlIHx8IGFkZGl0aW9uYWxUZXh0O1xuICAgIGNvbnN0IGRlc2NyaWJlSWQgPSBhY3R1YWxIYXNFcnJvciB8fCAhIWFkZGl0aW9uYWxUZXh0ID8gbWFrZURlc2NJZChhY3R1YWxJZCkgOiB1bmRlZmluZWQ7XG5cbiAgICByZXR1cm4ge1xuICAgICAgICBsYXlvdXRQcm9wczoge1xuICAgICAgICAgICAgaWQ6IGFjdHVhbElkLFxuICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICBoaWRlTGFiZWwsXG4gICAgICAgICAgICByZXF1aXJlZCxcbiAgICAgICAgICAgIHJlcXVpcmVkTGFiZWwsXG4gICAgICAgICAgICBhZGRpdGlvbmFsVGV4dDogYWN0dWFsQWRkaXRpb25hbFRleHQsXG4gICAgICAgICAgICBwcmVzZXJ2ZVNwYWNlLFxuICAgICAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgICAgICBpc0ZvY3VzZWQsXG4gICAgICAgICAgICBpc1RvdWNoZWQsXG4gICAgICAgICAgICBpc0NoYW5nZWQsXG4gICAgICAgICAgICBoYXNWYWx1ZTogdHlwZW9mIHZhbHVlICE9PSB1bmRlZmluZWQsXG4gICAgICAgICAgICBoYXNFcnJvcjogYWN0dWFsSGFzRXJyb3IsXG4gICAgICAgICAgICBpY29uLFxuICAgICAgICAgICAgYnV0dG9uLFxuICAgICAgICAgICAgZGF0YXNldCxcbiAgICAgICAgfSxcbiAgICAgICAgaW5wdXRQcm9wczoge1xuICAgICAgICAgICAgdHlwZTogYWN0dWFsVHlwZSxcbiAgICAgICAgICAgIGlkOiBhY3R1YWxJZCxcbiAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgb25Gb2N1czogaGFuZGxlRm9jdXMsXG4gICAgICAgICAgICBvbkJsdXI6IGhhbmRsZUJsdXIsXG4gICAgICAgICAgICBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLFxuICAgICAgICAgICAgcmVxdWlyZWQsXG4gICAgICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgICAgIGhhc0Vycm9yOiBhY3R1YWxIYXNFcnJvcixcbiAgICAgICAgICAgIGF1dG9Db21wbGV0ZSxcbiAgICAgICAgICAgIGRhdGFzZXQ6IGlucHV0RGF0YXNldCxcbiAgICAgICAgICAgICdhcmlhLWRlc2NyaWJlZGJ5JzogZGVzY3JpYmVJZCxcbiAgICAgICAgICAgIC4uLnJlc3QsXG4gICAgICAgIH0sXG4gICAgfTtcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O01BZWEsWUFBWSxHQUFHLENBQ3hCLEtBQWtEO0lBRWxELE1BQU0sRUFDRixJQUFJLEVBQ0osRUFBRSxFQUNGLEtBQUssRUFDTCxLQUFLLEVBQ0wsU0FBUyxFQUNULGFBQWEsRUFDYixRQUFRLEVBQ1IsYUFBYSxFQUNiLGNBQWMsRUFDZCxRQUFRLEVBQ1IsUUFBUSxFQUNSLFlBQVksRUFDWixJQUFJLEVBQ0osTUFBTSxFQUNOLE9BQU8sRUFDUCxNQUFNLEVBQ04sUUFBUSxFQUNSLFlBQVksR0FBRywwQkFBMEIsRUFDekMsWUFBWSxFQUNaLE9BQU8sRUFDUCxHQUFHLElBQUksRUFDVixHQUFHLEtBQUssQ0FBQztJQUVWLE1BQU0sUUFBUSxHQUFHLEVBQUUsSUFBSSxVQUFVLEVBQUUsQ0FBQztJQUNwQyxNQUFNLFVBQVUsR0FBRyxJQUFJLGFBQUosSUFBSSxjQUFKLElBQUksR0FBSSxrQkFBa0IsQ0FBQztJQUM5QyxNQUFNLENBQUMsU0FBUyxFQUFFLFlBQVksQ0FBQyxHQUFHLFFBQVEsQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUMzRCxNQUFNLENBQUMsU0FBUyxFQUFFLFlBQVksQ0FBQyxHQUFHLFFBQVEsQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUMzRCxNQUFNLENBQUMsU0FBUyxFQUFFLFlBQVksQ0FBQyxHQUFHLFFBQVEsQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUUzRCxNQUFNLFdBQVcsR0FBc0IsV0FBVyxDQUFDLEVBQUU7UUFDakQsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25CLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQixPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUcsRUFBRSxFQUFFO0tBQ2pCLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDUCxNQUFNLFVBQVUsR0FBc0IsV0FBVyxDQUFDLEVBQUU7UUFDaEQsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BCLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRyxFQUFFLEVBQUU7S0FDaEIsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNQLE1BQU0sWUFBWSxHQUF1QixXQUFXLENBQUMsRUFBRTtRQUNuRCxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEIsUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFHLEVBQUUsRUFBRTtLQUNsQixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRVAsTUFBTSxjQUFjLEdBQUcsUUFBUSxJQUFJLENBQUMsQ0FBQyxZQUFZLENBQUM7SUFDbEQsTUFBTSxvQkFBb0IsR0FBRyxZQUFZLElBQUksY0FBYyxDQUFDO0lBQzVELE1BQU0sVUFBVSxHQUFHLGNBQWMsSUFBSSxDQUFDLENBQUMsY0FBYyxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsR0FBRyxTQUFTLENBQUM7SUFFekYsT0FBTztRQUNILFdBQVcsRUFBRTtZQUNULEVBQUUsRUFBRSxRQUFRO1lBQ1osS0FBSztZQUNMLFNBQVM7WUFDVCxRQUFRO1lBQ1IsYUFBYTtZQUNiLGNBQWMsRUFBRSxvQkFBb0I7WUFDcEMsYUFBYTtZQUNiLFFBQVE7WUFDUixTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7WUFDVCxRQUFRLEVBQUUsT0FBTyxLQUFLLEtBQUssU0FBUztZQUNwQyxRQUFRLEVBQUUsY0FBYztZQUN4QixJQUFJO1lBQ0osTUFBTTtZQUNOLE9BQU87U0FDVjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxVQUFVO1lBQ2hCLEVBQUUsRUFBRSxRQUFRO1lBQ1osS0FBSztZQUNMLE9BQU8sRUFBRSxXQUFXO1lBQ3BCLE1BQU0sRUFBRSxVQUFVO1lBQ2xCLFFBQVEsRUFBRSxZQUFZO1lBQ3RCLFFBQVE7WUFDUixRQUFRO1lBQ1IsUUFBUSxFQUFFLGNBQWM7WUFDeEIsWUFBWTtZQUNaLE9BQU8sRUFBRSxZQUFZO1lBQ3JCLGtCQUFrQixFQUFFLFVBQVU7WUFDOUIsR0FBRyxJQUFJO1NBQ1Y7S0FDSixDQUFDO0FBQ047Ozs7In0=
|
package/dist/field/index.d.ts
CHANGED
package/dist/field/index.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
export { FIELD_ADDITIONAL_TEXT_VARIANT_DEFAULT, FIELD_TYPE_DEFAULT } from './constants.js';
|
|
2
2
|
export { usePasswordField } from './hooks/usePasswordField.js';
|
|
3
3
|
export { useTextField } from './hooks/useTextField.js';
|
|
4
|
+
export { useNumberField } from './hooks/useNumberField.js';
|
|
5
|
+
export { useSelectField } from './hooks/useSelectField.js';
|
|
4
6
|
export { ADDITIONAL_TEXT_VARIANT_OPTIONS } from './options.js';
|
|
5
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OzsifQ==
|
package/dist/field/types.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import type { MouseEventHandler, ReactNode } from 'react';
|
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { IconProps } from '../icon/types';
|
|
5
5
|
import type { AutoCompletePasswordOptions, SimpleTextInputType, SingleLineInputType } from '../input/private/types';
|
|
6
|
-
import type { CombinableInputProps, InputPasswordProps, InputTextProps } from '../input/types';
|
|
6
|
+
import type { CombinableInputProps, InputNumberProps, InputPasswordProps, InputTextProps, SelectProps } from '../input/types';
|
|
7
7
|
import { ReactSVGComponentType } from '../svg/types';
|
|
8
8
|
export declare type FieldValue = string | number | boolean;
|
|
9
9
|
/**
|
|
@@ -87,3 +87,10 @@ export declare type PasswordFieldProps = FieldCommonProps & CombinableInputProps
|
|
|
87
87
|
showIcon?: boolean;
|
|
88
88
|
revealValue?: boolean;
|
|
89
89
|
};
|
|
90
|
+
export declare type NumberFieldProps = FieldCommonProps & CombinableInputProps<InputNumberProps> & {
|
|
91
|
+
icon?: React.ReactElement<IconProps>;
|
|
92
|
+
};
|
|
93
|
+
export declare type SelectFieldProps = FieldCommonProps & CombinableInputProps<SelectProps> & {
|
|
94
|
+
icon?: React.ReactElement<IconProps>;
|
|
95
|
+
children?: ReactNode | ReactNode[];
|
|
96
|
+
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* AUTO GENERATED @
|
|
1
|
+
/* AUTO GENERATED @Tue May 16 2023 17:05:33 GMT+0000 (Coordinated Universal Time) */
|
|
2
2
|
|
|
3
3
|
@AVATAR_SIZE_OPTIONS: 2xs, xs, s, m, l, xl;
|
|
4
4
|
@BADGE_COLOR_OPTIONS: gray, teal, green, blue, yellow, red, magenta;
|
package/dist/index.js
CHANGED
|
@@ -13,6 +13,8 @@ export { useFocusEvents } from './events/hooks/useFocusEvents.js';
|
|
|
13
13
|
export { FIELD_ADDITIONAL_TEXT_VARIANT_DEFAULT, FIELD_TYPE_DEFAULT } from './field/constants.js';
|
|
14
14
|
export { usePasswordField } from './field/hooks/usePasswordField.js';
|
|
15
15
|
export { useTextField } from './field/hooks/useTextField.js';
|
|
16
|
+
export { useNumberField } from './field/hooks/useNumberField.js';
|
|
17
|
+
export { useSelectField } from './field/hooks/useSelectField.js';
|
|
16
18
|
export { ADDITIONAL_TEXT_VARIANT_OPTIONS } from './field/options.js';
|
|
17
19
|
export { AUTO_COMPLETE_DATE_DEFAULT, AUTO_COMPLETE_PASSWORD_DEFAULT, AUTO_COMPLETE_TEXT_DEFAULT, INPUT_TYPE_DEFAULT } from './input/constants.js';
|
|
18
20
|
export { AUTO_COMPLETE_DATE_OPTIONS, AUTO_COMPLETE_PASSWORD_OPTIONS, AUTO_COMPLETE_TEXT_OPTIONS, INPUT_TYPE_OPTIONS, INPUT_TYPE_SIMPLE_TEXT_OPTIONS } from './input/options.js';
|
|
@@ -52,4 +54,4 @@ export { useTextCenteredClassnames } from './typography/module-text-centered/hoo
|
|
|
52
54
|
export { useTextWeightClassNames } from './typography/module-text-weight/hooks/useTextWeightClassNames.js';
|
|
53
55
|
export { useVisualModeClassNames } from './visual-mode/module-visual/hooks/useVisualModeClassNames.js';
|
|
54
56
|
export { VisualModeContext } from './visual-mode/module-visual/providers/VisualModeContext.js';
|
|
55
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyJ9
|
|
@@ -91,6 +91,7 @@ export interface InputTypeTextareaProps extends InputStringProps {
|
|
|
91
91
|
}
|
|
92
92
|
export interface InputTypeSelectProps extends InputCommonProps {
|
|
93
93
|
type: 'select';
|
|
94
|
+
placeholder?: string;
|
|
94
95
|
children?: ReactNode;
|
|
95
96
|
}
|
|
96
97
|
export declare type InputGenericTextProps = InputTypeTextProps | InputTypeSearchProps | InputTypeEmailProps | InputTypeTelProps | InputTypeUrlProps;
|
|
@@ -35,15 +35,19 @@ const isSelect = (props) => {
|
|
|
35
35
|
};
|
|
36
36
|
const getTextProps = (props) => {
|
|
37
37
|
if (isText(props)) {
|
|
38
|
-
const { value, placeholder, maxLength, autoComplete } = props;
|
|
39
|
-
|
|
38
|
+
const { value, defaultValue, placeholder, maxLength, autoComplete } = props;
|
|
39
|
+
const forcedValue = defaultValue === undefined ? '' : undefined;
|
|
40
|
+
const actualValue = value !== undefined ? value : forcedValue;
|
|
41
|
+
return { value: actualValue, defaultValue, placeholder, maxLength, autoComplete };
|
|
40
42
|
}
|
|
41
43
|
return {};
|
|
42
44
|
};
|
|
43
45
|
const getDateTimeProps = (props) => {
|
|
44
46
|
if (isDateTime(props)) {
|
|
45
|
-
const { defaultValue, placeholder, maxLength, autoComplete } = props;
|
|
46
|
-
|
|
47
|
+
const { value, defaultValue, placeholder, maxLength, autoComplete } = props;
|
|
48
|
+
const forcedValue = defaultValue === undefined ? '' : undefined;
|
|
49
|
+
const actualValue = value !== undefined ? value : forcedValue;
|
|
50
|
+
return { value: actualValue, defaultValue, placeholder, maxLength, autoComplete };
|
|
47
51
|
}
|
|
48
52
|
return {};
|
|
49
53
|
};
|
|
@@ -77,11 +81,13 @@ const getRadioProps = (props) => {
|
|
|
77
81
|
};
|
|
78
82
|
const getSelectProps = (props) => {
|
|
79
83
|
if (isSelect(props)) {
|
|
80
|
-
const { value, children } = props;
|
|
81
|
-
|
|
84
|
+
const { value, defaultValue, children } = props;
|
|
85
|
+
const forcedValue = defaultValue === undefined ? '' : undefined;
|
|
86
|
+
const actualValue = value !== undefined ? value : forcedValue;
|
|
87
|
+
return { value: actualValue, defaultValue, children };
|
|
82
88
|
}
|
|
83
89
|
return {};
|
|
84
90
|
};
|
|
85
91
|
|
|
86
92
|
export { getBoundedProps, getCheckableProps, getDateTimeProps, getRadioProps, getSelectProps, getTextProps, getTextareaProps };
|
|
87
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbnB1dC9wcml2YXRlL3V0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElucHV0SFRNTEF0dHJpYnV0ZXMsIFNlbGVjdEhUTUxBdHRyaWJ1dGVzLCBUZXh0YXJlYUhUTUxBdHRyaWJ1dGVzIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgdHlwZSB7IElucHV0QmFzZVByb3BzIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5pbXBvcnQgdHlwZSB7XG4gICAgSW5wdXRCb3VuZGVkUHJvcHMsXG4gICAgSW5wdXRDaGVja2FibGVQcm9wcyxcbiAgICBJbnB1dENvbW1vblByb3BzLFxuICAgIElucHV0VHlwZVNlbGVjdFByb3BzLFxuICAgIElucHV0VHlwZVRleHRQcm9wcyxcbiAgICBJbnB1dFR5cGVUZXh0YXJlYVByb3BzLFxufSBmcm9tICcuL3R5cGVzJztcblxuY29uc3QgaXNUZXh0ID0gKHByb3BzOiBJbnB1dENvbW1vblByb3BzKTogcHJvcHMgaXMgSW5wdXRUeXBlVGV4dFByb3BzID0+IHtcbiAgICBjb25zdCB7IHR5cGUgfSA9IHByb3BzO1xuICAgIHJldHVybiAoXG4gICAgICAgIHR5cGUgPT09ICd0ZXh0JyB8fFxuICAgICAgICB0eXBlID09PSAnc2VhcmNoJyB8fFxuICAgICAgICB0eXBlID09PSAncGFzc3dvcmQnIHx8XG4gICAgICAgIHR5cGUgPT09ICdlbWFpbCcgfHxcbiAgICAgICAgdHlwZSA9PT0gJ3RlbCcgfHxcbiAgICAgICAgdHlwZSA9PT0gJ3VybCcgfHxcbiAgICAgICAgdHlwZSA9PT0gJ251bWJlcicgfHxcbiAgICAgICAgdHlwZSA9PT0gJ3RleHRhcmVhJ1xuICAgICk7XG59O1xuXG5jb25zdCBpc0RhdGVUaW1lID0gKHByb3BzOiBJbnB1dENvbW1vblByb3BzKTogcHJvcHMgaXMgSW5wdXRUeXBlVGV4dFByb3BzID0+IHtcbiAgICBjb25zdCB7IHR5cGUgfSA9IHByb3BzO1xuICAgIHJldHVybiB0eXBlID09PSAnZGF0ZScgfHwgdHlwZSA9PT0gJ3RpbWUnO1xufTtcblxuY29uc3QgaXNCb3VuZGVkID0gKHByb3BzOiBJbnB1dENvbW1vblByb3BzKTogcHJvcHMgaXMgSW5wdXRCb3VuZGVkUHJvcHMgPT4ge1xuICAgIGNvbnN0IHsgdHlwZSB9ID0gcHJvcHM7XG4gICAgcmV0dXJuIHR5cGUgPT09ICdudW1iZXInIHx8IHR5cGUgPT09ICdkYXRlJyB8fCB0eXBlID09PSAndGltZSc7XG59O1xuXG5jb25zdCBpc0NoZWNrYWJsZSA9IChwcm9wczogSW5wdXRDb21tb25Qcm9wcyk6IHByb3BzIGlzIElucHV0Q2hlY2thYmxlUHJvcHMgPT4ge1xuICAgIGNvbnN0IHsgdHlwZSB9ID0gcHJvcHM7XG4gICAgcmV0dXJuIHR5cGUgPT09ICdjaGVja2JveCc7XG59O1xuXG5jb25zdCBpc1JhZGlvID0gKHByb3BzOiBJbnB1dENvbW1vblByb3BzKTogcHJvcHMgaXMgSW5wdXRDaGVja2FibGVQcm9wcyA9PiB7XG4gICAgY29uc3QgeyB0eXBlIH0gPSBwcm9wcztcbiAgICByZXR1cm4gdHlwZSA9PT0gJ3JhZGlvJztcbn07XG5cbmNvbnN0IGlzVGV4dGFyZWEgPSAocHJvcHM6IElucHV0Q29tbW9uUHJvcHMpOiBwcm9wcyBpcyBJbnB1dFR5cGVUZXh0YXJlYVByb3BzID0+
|
|
93
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbnB1dC9wcml2YXRlL3V0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElucHV0SFRNTEF0dHJpYnV0ZXMsIFNlbGVjdEhUTUxBdHRyaWJ1dGVzLCBUZXh0YXJlYUhUTUxBdHRyaWJ1dGVzIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgdHlwZSB7IElucHV0QmFzZVByb3BzIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5pbXBvcnQgdHlwZSB7XG4gICAgSW5wdXRCb3VuZGVkUHJvcHMsXG4gICAgSW5wdXRDaGVja2FibGVQcm9wcyxcbiAgICBJbnB1dENvbW1vblByb3BzLFxuICAgIElucHV0VHlwZVNlbGVjdFByb3BzLFxuICAgIElucHV0VHlwZVRleHRQcm9wcyxcbiAgICBJbnB1dFR5cGVUZXh0YXJlYVByb3BzLFxufSBmcm9tICcuL3R5cGVzJztcblxuY29uc3QgaXNUZXh0ID0gKHByb3BzOiBJbnB1dENvbW1vblByb3BzKTogcHJvcHMgaXMgSW5wdXRUeXBlVGV4dFByb3BzID0+IHtcbiAgICBjb25zdCB7IHR5cGUgfSA9IHByb3BzO1xuICAgIHJldHVybiAoXG4gICAgICAgIHR5cGUgPT09ICd0ZXh0JyB8fFxuICAgICAgICB0eXBlID09PSAnc2VhcmNoJyB8fFxuICAgICAgICB0eXBlID09PSAncGFzc3dvcmQnIHx8XG4gICAgICAgIHR5cGUgPT09ICdlbWFpbCcgfHxcbiAgICAgICAgdHlwZSA9PT0gJ3RlbCcgfHxcbiAgICAgICAgdHlwZSA9PT0gJ3VybCcgfHxcbiAgICAgICAgdHlwZSA9PT0gJ251bWJlcicgfHxcbiAgICAgICAgdHlwZSA9PT0gJ3RleHRhcmVhJ1xuICAgICk7XG59O1xuXG5jb25zdCBpc0RhdGVUaW1lID0gKHByb3BzOiBJbnB1dENvbW1vblByb3BzKTogcHJvcHMgaXMgSW5wdXRUeXBlVGV4dFByb3BzID0+IHtcbiAgICBjb25zdCB7IHR5cGUgfSA9IHByb3BzO1xuICAgIHJldHVybiB0eXBlID09PSAnZGF0ZScgfHwgdHlwZSA9PT0gJ3RpbWUnO1xufTtcblxuY29uc3QgaXNCb3VuZGVkID0gKHByb3BzOiBJbnB1dENvbW1vblByb3BzKTogcHJvcHMgaXMgSW5wdXRCb3VuZGVkUHJvcHMgPT4ge1xuICAgIGNvbnN0IHsgdHlwZSB9ID0gcHJvcHM7XG4gICAgcmV0dXJuIHR5cGUgPT09ICdudW1iZXInIHx8IHR5cGUgPT09ICdkYXRlJyB8fCB0eXBlID09PSAndGltZSc7XG59O1xuXG5jb25zdCBpc0NoZWNrYWJsZSA9IChwcm9wczogSW5wdXRDb21tb25Qcm9wcyk6IHByb3BzIGlzIElucHV0Q2hlY2thYmxlUHJvcHMgPT4ge1xuICAgIGNvbnN0IHsgdHlwZSB9ID0gcHJvcHM7XG4gICAgcmV0dXJuIHR5cGUgPT09ICdjaGVja2JveCc7XG59O1xuXG5jb25zdCBpc1JhZGlvID0gKHByb3BzOiBJbnB1dENvbW1vblByb3BzKTogcHJvcHMgaXMgSW5wdXRDaGVja2FibGVQcm9wcyA9PiB7XG4gICAgY29uc3QgeyB0eXBlIH0gPSBwcm9wcztcbiAgICByZXR1cm4gdHlwZSA9PT0gJ3JhZGlvJztcbn07XG5cbmNvbnN0IGlzVGV4dGFyZWEgPSAocHJvcHM6IElucHV0Q29tbW9uUHJvcHMpOiBwcm9wcyBpcyBJbnB1dFR5cGVUZXh0YXJlYVByb3BzID0+IHtcbiAgICBjb25zdCB7IHR5cGUgfSA9IHByb3BzO1xuICAgIHJldHVybiB0eXBlID09PSAnbnVtYmVyJyB8fCB0eXBlID09PSAnZGF0ZScgfHwgdHlwZSA9PT0gJ3RpbWUnO1xufTtcblxuY29uc3QgaXNTZWxlY3QgPSAocHJvcHM6IElucHV0Q29tbW9uUHJvcHMpOiBwcm9wcyBpcyBJbnB1dFR5cGVTZWxlY3RQcm9wcyA9PiB7XG4gICAgY29uc3QgeyB0eXBlIH0gPSBwcm9wcztcbiAgICByZXR1cm4gdHlwZSA9PT0gJ3NlbGVjdCc7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0VGV4dFByb3BzID0gKHByb3BzOiBJbnB1dEJhc2VQcm9wcyk6IElucHV0SFRNTEF0dHJpYnV0ZXM8SFRNTElucHV0RWxlbWVudD4gPT4ge1xuICAgIGlmIChpc1RleHQocHJvcHMpKSB7XG4gICAgICAgIGNvbnN0IHsgdmFsdWUsIGRlZmF1bHRWYWx1ZSwgcGxhY2Vob2xkZXIsIG1heExlbmd0aCwgYXV0b0NvbXBsZXRlIH0gPSBwcm9wcztcbiAgICAgICAgY29uc3QgZm9yY2VkVmFsdWUgPSBkZWZhdWx0VmFsdWUgPT09IHVuZGVmaW5lZCA/ICcnIDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBhY3R1YWxWYWx1ZSA9IHZhbHVlICE9PSB1bmRlZmluZWQgPyB2YWx1ZSA6IGZvcmNlZFZhbHVlO1xuICAgICAgICByZXR1cm4geyB2YWx1ZTogYWN0dWFsVmFsdWUsIGRlZmF1bHRWYWx1ZSwgcGxhY2Vob2xkZXIsIG1heExlbmd0aCwgYXV0b0NvbXBsZXRlIH07XG4gICAgfVxuICAgIHJldHVybiB7fTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXREYXRlVGltZVByb3BzID0gKHByb3BzOiBJbnB1dEJhc2VQcm9wcyk6IElucHV0SFRNTEF0dHJpYnV0ZXM8SFRNTElucHV0RWxlbWVudD4gPT4ge1xuICAgIGlmIChpc0RhdGVUaW1lKHByb3BzKSkge1xuICAgICAgICBjb25zdCB7IHZhbHVlLCBkZWZhdWx0VmFsdWUsIHBsYWNlaG9sZGVyLCBtYXhMZW5ndGgsIGF1dG9Db21wbGV0ZSB9ID0gcHJvcHM7XG4gICAgICAgIGNvbnN0IGZvcmNlZFZhbHVlID0gZGVmYXVsdFZhbHVlID09PSB1bmRlZmluZWQgPyAnJyA6IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgYWN0dWFsVmFsdWUgPSB2YWx1ZSAhPT0gdW5kZWZpbmVkID8gdmFsdWUgOiBmb3JjZWRWYWx1ZTtcbiAgICAgICAgcmV0dXJuIHsgdmFsdWU6IGFjdHVhbFZhbHVlLCBkZWZhdWx0VmFsdWUsIHBsYWNlaG9sZGVyLCBtYXhMZW5ndGgsIGF1dG9Db21wbGV0ZSB9O1xuICAgIH1cbiAgICByZXR1cm4ge307XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Qm91bmRlZFByb3BzID0gKHByb3BzOiBJbnB1dEJhc2VQcm9wcyk6IElucHV0SFRNTEF0dHJpYnV0ZXM8SFRNTElucHV0RWxlbWVudD4gPT4ge1xuICAgIGlmIChpc0JvdW5kZWQocHJvcHMpKSB7XG4gICAgICAgIGNvbnN0IHsgbWluLCBtYXggfSA9IHByb3BzO1xuICAgICAgICByZXR1cm4geyBtaW4sIG1heCB9O1xuICAgIH1cbiAgICByZXR1cm4ge307XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0VGV4dGFyZWFQcm9wcyA9IChcbiAgICBwcm9wczogSW5wdXRCYXNlUHJvcHMsXG4pOiBUZXh0YXJlYUhUTUxBdHRyaWJ1dGVzPEhUTUxUZXh0QXJlYUVsZW1lbnQ+ID0+IHtcbiAgICBpZiAoaXNUZXh0YXJlYShwcm9wcykpIHtcbiAgICAgICAgY29uc3QgeyByb3dzIH0gPSBwcm9wcztcbiAgICAgICAgcmV0dXJuIHsgcm93cyB9O1xuICAgIH1cbiAgICByZXR1cm4ge307XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Q2hlY2thYmxlUHJvcHMgPSAocHJvcHM6IElucHV0QmFzZVByb3BzKTogSW5wdXRIVE1MQXR0cmlidXRlczxIVE1MSW5wdXRFbGVtZW50PiA9PiB7XG4gICAgaWYgKGlzQ2hlY2thYmxlKHByb3BzKSkge1xuICAgICAgICBjb25zdCB7IGNoZWNrZWQgfSA9IHByb3BzO1xuICAgICAgICByZXR1cm4geyBjaGVja2VkIH07XG4gICAgfVxuICAgIHJldHVybiB7fTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRSYWRpb1Byb3BzID0gKHByb3BzOiBJbnB1dEJhc2VQcm9wcyk6IElucHV0SFRNTEF0dHJpYnV0ZXM8SFRNTElucHV0RWxlbWVudD4gPT4ge1xuICAgIGlmIChpc1JhZGlvKHByb3BzKSkge1xuICAgICAgICBjb25zdCB7IGNoZWNrZWQsIG5hbWUgfSA9IHByb3BzO1xuICAgICAgICByZXR1cm4geyBkZWZhdWx0Q2hlY2tlZDogY2hlY2tlZCwgbmFtZSB9O1xuICAgIH1cbiAgICByZXR1cm4ge307XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0U2VsZWN0UHJvcHMgPSAocHJvcHM6IElucHV0QmFzZVByb3BzKTogU2VsZWN0SFRNTEF0dHJpYnV0ZXM8SFRNTFNlbGVjdEVsZW1lbnQ+ID0+IHtcbiAgICBpZiAoaXNTZWxlY3QocHJvcHMpKSB7XG4gICAgICAgIGNvbnN0IHsgdmFsdWUsIGRlZmF1bHRWYWx1ZSwgY2hpbGRyZW4gfSA9IHByb3BzO1xuICAgICAgICBjb25zdCBmb3JjZWRWYWx1ZSA9IGRlZmF1bHRWYWx1ZSA9PT0gdW5kZWZpbmVkID8gJycgOiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IGFjdHVhbFZhbHVlID0gdmFsdWUgIT09IHVuZGVmaW5lZCA/IHZhbHVlIDogZm9yY2VkVmFsdWU7XG4gICAgICAgIHJldHVybiB7IHZhbHVlOiBhY3R1YWxWYWx1ZSwgZGVmYXVsdFZhbHVlLCBjaGlsZHJlbiB9O1xuICAgIH1cbiAgICByZXR1cm4ge307XG59O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWFBLE1BQU0sTUFBTSxHQUFHLENBQUMsS0FBdUI7SUFDbkMsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQztJQUN2QixRQUNJLElBQUksS0FBSyxNQUFNO1FBQ2YsSUFBSSxLQUFLLFFBQVE7UUFDakIsSUFBSSxLQUFLLFVBQVU7UUFDbkIsSUFBSSxLQUFLLE9BQU87UUFDaEIsSUFBSSxLQUFLLEtBQUs7UUFDZCxJQUFJLEtBQUssS0FBSztRQUNkLElBQUksS0FBSyxRQUFRO1FBQ2pCLElBQUksS0FBSyxVQUFVLEVBQ3JCO0FBQ04sQ0FBQyxDQUFDO0FBRUYsTUFBTSxVQUFVLEdBQUcsQ0FBQyxLQUF1QjtJQUN2QyxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLE9BQU8sSUFBSSxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssTUFBTSxDQUFD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
|
package/dist/input/types.d.ts
CHANGED
|
@@ -34,11 +34,12 @@ export declare type InputDateProps = Omit<InputTypeDateProps, 'type' | 'value' |
|
|
|
34
34
|
defaultValue?: Date;
|
|
35
35
|
onValueChange?: ValueChangeEventHandler<Date>;
|
|
36
36
|
};
|
|
37
|
-
export declare type InputNumberProps = Omit<InputTypeNumberProps, 'type' | 'value' | 'min' | 'max'> & {
|
|
37
|
+
export declare type InputNumberProps = Omit<InputTypeNumberProps, 'type' | 'value' | 'defaultValue' | 'min' | 'max'> & {
|
|
38
38
|
value?: number;
|
|
39
39
|
min?: number;
|
|
40
40
|
max?: number;
|
|
41
|
-
|
|
41
|
+
defaultValue?: number;
|
|
42
|
+
onValueChange?: ValueChangeEventHandler<number | undefined>;
|
|
42
43
|
};
|
|
43
44
|
export declare type InputPasswordProps = Omit<InputTypePasswordProps, 'type'> & {
|
|
44
45
|
onValueChange?: ValueChangeEventHandler<string>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@preply/ds-web-core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.58.1",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -19,14 +19,14 @@
|
|
|
19
19
|
"dev": "run build:rollup -w"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@preply/ds-core": "0.
|
|
23
|
-
"@preply/ds-core-types": "0.
|
|
22
|
+
"@preply/ds-core": "0.58.1",
|
|
23
|
+
"@preply/ds-core-types": "0.58.1"
|
|
24
24
|
},
|
|
25
25
|
"peerDependencies": {
|
|
26
|
-
"@preply/ds-core": "0.
|
|
27
|
-
"@preply/ds-core-types": "0.
|
|
26
|
+
"@preply/ds-core": "0.58.1",
|
|
27
|
+
"@preply/ds-core-types": "0.58.1",
|
|
28
28
|
"react": "^16.8.3",
|
|
29
29
|
"react-dom": "^16.8.3"
|
|
30
30
|
},
|
|
31
|
-
"gitHead": "
|
|
31
|
+
"gitHead": "36a6596fb4691f483555cdc3f5a8c810ff7e7aff"
|
|
32
32
|
}
|