@snack-uikit/fields 0.36.3-preview-bb2cdfb8.0 → 0.36.4
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/CHANGELOG.md +24 -0
- package/README.md +0 -11
- package/dist/cjs/components/FieldColor/FieldColor.d.ts +0 -5
- package/dist/cjs/components/FieldColor/FieldColor.js +3 -5
- package/dist/cjs/components/FieldDate/FieldDate.d.ts +0 -3
- package/dist/cjs/components/FieldDate/FieldDate.js +3 -5
- package/dist/cjs/components/FieldDecorator/FieldDecorator.d.ts +1 -12
- package/dist/cjs/components/FieldDecorator/FieldDecorator.js +3 -5
- package/dist/cjs/components/FieldSecure/FieldSecure.d.ts +1 -3
- package/dist/cjs/components/FieldSecure/FieldSecure.js +3 -5
- package/dist/cjs/components/FieldSelect/FieldSelectMultiple.d.ts +0 -1
- package/dist/cjs/components/FieldSelect/FieldSelectMultiple.js +2 -4
- package/dist/cjs/components/FieldSelect/FieldSelectSingle.d.ts +0 -1
- package/dist/cjs/components/FieldSelect/FieldSelectSingle.js +2 -4
- package/dist/cjs/components/FieldSelect/types.d.ts +1 -3
- package/dist/cjs/components/FieldSlider/FieldSlider.d.ts +1 -3
- package/dist/cjs/components/FieldSlider/FieldSlider.js +3 -5
- package/dist/cjs/components/FieldStepper/FieldStepper.d.ts +1 -3
- package/dist/cjs/components/FieldStepper/FieldStepper.js +3 -5
- package/dist/cjs/components/FieldText/FieldText.d.ts +1 -3
- package/dist/cjs/components/FieldText/FieldText.js +3 -5
- package/dist/cjs/components/FieldTextArea/FieldTextArea.d.ts +1 -3
- package/dist/cjs/components/FieldTextArea/FieldTextArea.js +3 -5
- package/dist/cjs/components/FieldTime/FieldTime.d.ts +0 -3
- package/dist/cjs/components/FieldTime/FieldTime.js +3 -5
- package/dist/esm/components/FieldColor/FieldColor.d.ts +0 -5
- package/dist/esm/components/FieldColor/FieldColor.js +2 -2
- package/dist/esm/components/FieldDate/FieldDate.d.ts +0 -3
- package/dist/esm/components/FieldDate/FieldDate.js +3 -3
- package/dist/esm/components/FieldDecorator/FieldDecorator.d.ts +1 -12
- package/dist/esm/components/FieldDecorator/FieldDecorator.js +3 -4
- package/dist/esm/components/FieldSecure/FieldSecure.d.ts +1 -3
- package/dist/esm/components/FieldSecure/FieldSecure.js +2 -2
- package/dist/esm/components/FieldSelect/FieldSelectMultiple.d.ts +0 -1
- package/dist/esm/components/FieldSelect/FieldSelectMultiple.js +2 -2
- package/dist/esm/components/FieldSelect/FieldSelectSingle.d.ts +0 -1
- package/dist/esm/components/FieldSelect/FieldSelectSingle.js +2 -2
- package/dist/esm/components/FieldSelect/types.d.ts +1 -3
- package/dist/esm/components/FieldSlider/FieldSlider.d.ts +1 -3
- package/dist/esm/components/FieldSlider/FieldSlider.js +2 -2
- package/dist/esm/components/FieldStepper/FieldStepper.d.ts +1 -3
- package/dist/esm/components/FieldStepper/FieldStepper.js +2 -2
- package/dist/esm/components/FieldText/FieldText.d.ts +1 -3
- package/dist/esm/components/FieldText/FieldText.js +2 -2
- package/dist/esm/components/FieldTextArea/FieldTextArea.d.ts +1 -3
- package/dist/esm/components/FieldTextArea/FieldTextArea.js +2 -2
- package/dist/esm/components/FieldTime/FieldTime.d.ts +0 -3
- package/dist/esm/components/FieldTime/FieldTime.js +3 -3
- package/package.json +8 -8
- package/src/components/FieldColor/FieldColor.tsx +1 -5
- package/src/components/FieldDate/FieldDate.tsx +1 -15
- package/src/components/FieldDecorator/FieldDecorator.tsx +44 -49
- package/src/components/FieldSecure/FieldSecure.tsx +1 -5
- package/src/components/FieldSelect/FieldSelectMultiple.tsx +0 -2
- package/src/components/FieldSelect/FieldSelectSingle.tsx +0 -2
- package/src/components/FieldSelect/types.ts +1 -4
- package/src/components/FieldSlider/FieldSlider.tsx +0 -5
- package/src/components/FieldStepper/FieldStepper.tsx +0 -5
- package/src/components/FieldText/FieldText.tsx +0 -5
- package/src/components/FieldTextArea/FieldTextArea.tsx +1 -5
- package/src/components/FieldTime/FieldTime.tsx +1 -15
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import cn from 'classnames';
|
|
2
|
-
import {
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
3
|
|
|
4
4
|
import { SIZE } from '@snack-uikit/input-private';
|
|
5
5
|
import { extractSupportProps, WithSupportProps } from '@snack-uikit/utils';
|
|
@@ -25,54 +25,49 @@ export type FieldDecoratorProps = WithSupportProps<
|
|
|
25
25
|
FooterProps
|
|
26
26
|
>;
|
|
27
27
|
|
|
28
|
-
export
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
ref,
|
|
50
|
-
) => {
|
|
51
|
-
const isFieldActive = !disabled && !readonly;
|
|
52
|
-
const fieldValidationState = getValidationState({ validationState, error });
|
|
28
|
+
export function FieldDecorator({
|
|
29
|
+
children,
|
|
30
|
+
className,
|
|
31
|
+
label,
|
|
32
|
+
labelTooltip,
|
|
33
|
+
required,
|
|
34
|
+
labelFor,
|
|
35
|
+
caption,
|
|
36
|
+
length,
|
|
37
|
+
hint,
|
|
38
|
+
disabled,
|
|
39
|
+
readonly,
|
|
40
|
+
showHintIcon,
|
|
41
|
+
labelTooltipPlacement,
|
|
42
|
+
size = SIZE.S,
|
|
43
|
+
error,
|
|
44
|
+
validationState = VALIDATION_STATE.Default,
|
|
45
|
+
...rest
|
|
46
|
+
}: FieldDecoratorProps) {
|
|
47
|
+
const isFieldActive = !disabled && !readonly;
|
|
48
|
+
const fieldValidationState = getValidationState({ validationState, error });
|
|
53
49
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
size={size}
|
|
65
|
-
/>
|
|
66
|
-
)}
|
|
67
|
-
{children}
|
|
68
|
-
<Footer
|
|
69
|
-
length={isFieldActive ? length : undefined}
|
|
70
|
-
hint={error || hint}
|
|
71
|
-
showHintIcon={showHintIcon}
|
|
50
|
+
return (
|
|
51
|
+
<div className={cn(styles.decorator, className)} {...extractSupportProps(rest)} data-size={size}>
|
|
52
|
+
{label && (
|
|
53
|
+
<Header
|
|
54
|
+
labelTooltipPlacement={labelTooltipPlacement}
|
|
55
|
+
required={required}
|
|
56
|
+
label={label}
|
|
57
|
+
labelTooltip={labelTooltip}
|
|
58
|
+
labelFor={labelFor}
|
|
59
|
+
caption={caption}
|
|
72
60
|
size={size}
|
|
73
|
-
validationState={isFieldActive ? fieldValidationState : VALIDATION_STATE.Default}
|
|
74
61
|
/>
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
62
|
+
)}
|
|
63
|
+
{children}
|
|
64
|
+
<Footer
|
|
65
|
+
length={isFieldActive ? length : undefined}
|
|
66
|
+
hint={error || hint}
|
|
67
|
+
showHintIcon={showHintIcon}
|
|
68
|
+
size={size}
|
|
69
|
+
validationState={isFieldActive ? fieldValidationState : VALIDATION_STATE.Default}
|
|
70
|
+
/>
|
|
71
|
+
</div>
|
|
72
|
+
);
|
|
73
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import mergeRefs from 'merge-refs';
|
|
2
|
-
import {
|
|
2
|
+
import { forwardRef, ReactElement, useMemo, useRef, useState } from 'react';
|
|
3
3
|
|
|
4
4
|
import {
|
|
5
5
|
InputPrivate,
|
|
@@ -55,8 +55,6 @@ type FieldSecureOwnProps = {
|
|
|
55
55
|
prefixIcon?: ReactElement;
|
|
56
56
|
/** Свойство позволяет грузить данные в поле по требованию */
|
|
57
57
|
asyncValueGetter?(): Promise<string>;
|
|
58
|
-
/** Ref для корневой обертки компонента */
|
|
59
|
-
decoratorRef?: ForwardedRef<HTMLDivElement>;
|
|
60
58
|
};
|
|
61
59
|
|
|
62
60
|
export type FieldSecureProps = WithSupportProps<FieldSecureOwnProps & InputProps & WrapperProps>;
|
|
@@ -93,7 +91,6 @@ export const FieldSecure = forwardRef<HTMLInputElement, FieldSecureProps>(
|
|
|
93
91
|
asyncValueGetter,
|
|
94
92
|
autoComplete,
|
|
95
93
|
onCopyButtonClick,
|
|
96
|
-
decoratorRef,
|
|
97
94
|
...rest
|
|
98
95
|
},
|
|
99
96
|
ref,
|
|
@@ -208,7 +205,6 @@ export const FieldSecure = forwardRef<HTMLInputElement, FieldSecureProps>(
|
|
|
208
205
|
size={size}
|
|
209
206
|
error={error}
|
|
210
207
|
validationState={fieldValidationState}
|
|
211
|
-
ref={decoratorRef}
|
|
212
208
|
{...extractSupportProps(rest)}
|
|
213
209
|
>
|
|
214
210
|
<FieldContainerPrivate
|
|
@@ -53,7 +53,6 @@ export const FieldSelectMultiple = forwardRef<HTMLInputElement, FieldSelectMulti
|
|
|
53
53
|
resetSearchOnOptionSelection = true,
|
|
54
54
|
onOpenChange,
|
|
55
55
|
selectedOptionFormatter = defaultSelectedOptionFormatter,
|
|
56
|
-
decoratorRef,
|
|
57
56
|
...rest
|
|
58
57
|
} = props;
|
|
59
58
|
const localRef = useRef<HTMLInputElement>(null);
|
|
@@ -181,7 +180,6 @@ export const FieldSelectMultiple = forwardRef<HTMLInputElement, FieldSelectMulti
|
|
|
181
180
|
{...extractSupportProps(rest)}
|
|
182
181
|
{...extractFieldDecoratorProps(props)}
|
|
183
182
|
validationState={fieldValidationState}
|
|
184
|
-
ref={decoratorRef}
|
|
185
183
|
>
|
|
186
184
|
<Droplist
|
|
187
185
|
{...extractListProps(props)}
|
|
@@ -60,7 +60,6 @@ export const FieldSelectSingle = forwardRef<HTMLInputElement, FieldSelectSingleP
|
|
|
60
60
|
selectedOptionFormatter = defaultSelectedOptionFormatter,
|
|
61
61
|
enableFuzzySearch = true,
|
|
62
62
|
onCopyButtonClick,
|
|
63
|
-
decoratorRef,
|
|
64
63
|
...rest
|
|
65
64
|
} = props;
|
|
66
65
|
const localRef = useRef<HTMLInputElement>(null);
|
|
@@ -197,7 +196,6 @@ export const FieldSelectSingle = forwardRef<HTMLInputElement, FieldSelectSingleP
|
|
|
197
196
|
{...extractSupportProps(rest)}
|
|
198
197
|
{...extractFieldDecoratorProps(props)}
|
|
199
198
|
validationState={fieldValidationState}
|
|
200
|
-
ref={decoratorRef}
|
|
201
199
|
>
|
|
202
200
|
<Droplist
|
|
203
201
|
{...extractListProps(props)}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ReactElement, ReactNode } from 'react';
|
|
2
2
|
|
|
3
3
|
import { InputPrivateProps } from '@snack-uikit/input-private';
|
|
4
4
|
import {
|
|
@@ -135,9 +135,6 @@ type FiledSelectCommonProps = WithSupportProps<{
|
|
|
135
135
|
onOpenChange?(open: boolean): void;
|
|
136
136
|
|
|
137
137
|
selectedOptionFormatter?: SelectedOptionFormatter;
|
|
138
|
-
|
|
139
|
-
/** Ref для корневой обертки компонента */
|
|
140
|
-
decoratorRef?: ForwardedRef<HTMLDivElement>;
|
|
141
138
|
}> &
|
|
142
139
|
Pick<
|
|
143
140
|
DroplistProps,
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import mergeRefs from 'merge-refs';
|
|
2
2
|
import {
|
|
3
3
|
FocusEvent,
|
|
4
|
-
ForwardedRef,
|
|
5
4
|
forwardRef,
|
|
6
5
|
KeyboardEvent,
|
|
7
6
|
ReactElement,
|
|
@@ -55,8 +54,6 @@ type FieldSliderOwnProps = {
|
|
|
55
54
|
prefix?: ReactNode;
|
|
56
55
|
/** Произвольный постфикс для поля */
|
|
57
56
|
postfix?: ReactNode;
|
|
58
|
-
/** Ref для корневой обертки компонента */
|
|
59
|
-
decoratorRef?: ForwardedRef<HTMLDivElement>;
|
|
60
57
|
};
|
|
61
58
|
|
|
62
59
|
export type FieldSliderProps = WithSupportProps<FieldSliderOwnProps & SliderProps & WrapperProps>;
|
|
@@ -109,7 +106,6 @@ export const FieldSlider = forwardRef<HTMLInputElement, FieldSliderProps>(
|
|
|
109
106
|
postfixIcon,
|
|
110
107
|
prefix,
|
|
111
108
|
postfix,
|
|
112
|
-
decoratorRef,
|
|
113
109
|
...rest
|
|
114
110
|
},
|
|
115
111
|
ref,
|
|
@@ -284,7 +280,6 @@ export const FieldSlider = forwardRef<HTMLInputElement, FieldSliderProps>(
|
|
|
284
280
|
showHintIcon={showHintIcon}
|
|
285
281
|
readonly={readonly}
|
|
286
282
|
size={size}
|
|
287
|
-
ref={decoratorRef}
|
|
288
283
|
{...extractSupportProps(rest)}
|
|
289
284
|
>
|
|
290
285
|
<FieldContainerPrivate
|
|
@@ -3,7 +3,6 @@ import mergeRefs from 'merge-refs';
|
|
|
3
3
|
import {
|
|
4
4
|
ChangeEvent,
|
|
5
5
|
FocusEvent,
|
|
6
|
-
ForwardedRef,
|
|
7
6
|
forwardRef,
|
|
8
7
|
KeyboardEventHandler,
|
|
9
8
|
MouseEvent,
|
|
@@ -60,8 +59,6 @@ type FieldStepperOwnProps = {
|
|
|
60
59
|
prefix?: ReactNode;
|
|
61
60
|
/** Произвольный постфикс для поля */
|
|
62
61
|
postfix?: ReactNode;
|
|
63
|
-
/** Ref для корневой обертки компонента */
|
|
64
|
-
decoratorRef?: ForwardedRef<HTMLDivElement>;
|
|
65
62
|
};
|
|
66
63
|
|
|
67
64
|
export type FieldStepperProps = WithSupportProps<FieldStepperOwnProps & InputProps & WrapperProps>;
|
|
@@ -114,7 +111,6 @@ export const FieldStepper = forwardRef<HTMLInputElement, FieldStepperProps>(
|
|
|
114
111
|
error,
|
|
115
112
|
prefix,
|
|
116
113
|
postfix,
|
|
117
|
-
decoratorRef,
|
|
118
114
|
...rest
|
|
119
115
|
},
|
|
120
116
|
ref,
|
|
@@ -227,7 +223,6 @@ export const FieldStepper = forwardRef<HTMLInputElement, FieldStepperProps>(
|
|
|
227
223
|
size={size}
|
|
228
224
|
validationState={fieldValidationState}
|
|
229
225
|
error={error}
|
|
230
|
-
ref={decoratorRef}
|
|
231
226
|
{...extractSupportProps(rest)}
|
|
232
227
|
>
|
|
233
228
|
<Tooltip
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import mergeRefs from 'merge-refs';
|
|
2
2
|
import {
|
|
3
|
-
ForwardedRef,
|
|
4
3
|
forwardRef,
|
|
5
4
|
KeyboardEventHandler,
|
|
6
5
|
ReactElement,
|
|
@@ -73,8 +72,6 @@ type FieldTextOwnProps = {
|
|
|
73
72
|
postfix?: ReactNode;
|
|
74
73
|
/** Кнопка действия внутри поля */
|
|
75
74
|
button?: Button;
|
|
76
|
-
/** Ref для корневой обертки компонента */
|
|
77
|
-
decoratorRef?: ForwardedRef<HTMLDivElement>;
|
|
78
75
|
};
|
|
79
76
|
|
|
80
77
|
export type FieldTextProps = WithSupportProps<FieldTextOwnProps & InputProps & WrapperProps>;
|
|
@@ -114,7 +111,6 @@ export const FieldText = forwardRef<HTMLInputElement, FieldTextProps>(
|
|
|
114
111
|
button: buttonProp,
|
|
115
112
|
onPaste,
|
|
116
113
|
onKeyDown,
|
|
117
|
-
decoratorRef,
|
|
118
114
|
...rest
|
|
119
115
|
},
|
|
120
116
|
ref,
|
|
@@ -228,7 +224,6 @@ export const FieldText = forwardRef<HTMLInputElement, FieldTextProps>(
|
|
|
228
224
|
size={size}
|
|
229
225
|
validationState={fieldValidationState}
|
|
230
226
|
error={error}
|
|
231
|
-
ref={decoratorRef}
|
|
232
227
|
{...extractSupportProps(rest)}
|
|
233
228
|
>
|
|
234
229
|
<FieldContainerPrivate
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import mergeRefs from 'merge-refs';
|
|
2
|
-
import { ChangeEvent,
|
|
2
|
+
import { ChangeEvent, forwardRef, useMemo, useRef } from 'react';
|
|
3
3
|
|
|
4
4
|
import { SIZE, useButtonNavigation, useClearButton } from '@snack-uikit/input-private';
|
|
5
5
|
import { Scroll } from '@snack-uikit/scroll';
|
|
@@ -50,8 +50,6 @@ type FieldTextAreaOwnProps = {
|
|
|
50
50
|
showClearButton?: boolean;
|
|
51
51
|
/** Можно ли вводить больше разрешённого кол-ва символов */
|
|
52
52
|
allowMoreThanMaxLength?: boolean;
|
|
53
|
-
/** Ref для корневой обертки компонента */
|
|
54
|
-
decoratorRef?: ForwardedRef<HTMLDivElement>;
|
|
55
53
|
};
|
|
56
54
|
|
|
57
55
|
export type FieldTextAreaProps = WithSupportProps<FieldTextAreaOwnProps & InputProps & WrapperProps>;
|
|
@@ -87,7 +85,6 @@ export const FieldTextArea = forwardRef<HTMLTextAreaElement, FieldTextAreaProps>
|
|
|
87
85
|
size = SIZE.S,
|
|
88
86
|
validationState = VALIDATION_STATE.Default,
|
|
89
87
|
onCopyButtonClick,
|
|
90
|
-
decoratorRef,
|
|
91
88
|
...rest
|
|
92
89
|
},
|
|
93
90
|
ref,
|
|
@@ -150,7 +147,6 @@ export const FieldTextArea = forwardRef<HTMLTextAreaElement, FieldTextAreaProps>
|
|
|
150
147
|
size={size}
|
|
151
148
|
error={error}
|
|
152
149
|
validationState={fieldValidationState}
|
|
153
|
-
ref={decoratorRef}
|
|
154
150
|
{...extractSupportProps(rest)}
|
|
155
151
|
>
|
|
156
152
|
<FieldContainerPrivate
|
|
@@ -1,15 +1,5 @@
|
|
|
1
1
|
import mergeRefs from 'merge-refs';
|
|
2
|
-
import {
|
|
3
|
-
FocusEvent,
|
|
4
|
-
ForwardedRef,
|
|
5
|
-
forwardRef,
|
|
6
|
-
KeyboardEvent,
|
|
7
|
-
MouseEvent,
|
|
8
|
-
useCallback,
|
|
9
|
-
useEffect,
|
|
10
|
-
useMemo,
|
|
11
|
-
useRef,
|
|
12
|
-
} from 'react';
|
|
2
|
+
import { FocusEvent, forwardRef, KeyboardEvent, MouseEvent, useCallback, useEffect, useMemo, useRef } from 'react';
|
|
13
3
|
import { useUncontrolledProp } from 'uncontrollable';
|
|
14
4
|
|
|
15
5
|
import { TimePicker, TimePickerProps } from '@snack-uikit/calendar';
|
|
@@ -71,8 +61,6 @@ type FieldTimeOwnProps = {
|
|
|
71
61
|
* @default true
|
|
72
62
|
*/
|
|
73
63
|
showClearButton?: boolean;
|
|
74
|
-
/** Ref для корневой обертки компонента */
|
|
75
|
-
decoratorRef?: ForwardedRef<HTMLDivElement>;
|
|
76
64
|
};
|
|
77
65
|
|
|
78
66
|
export type FieldTimeProps = WithSupportProps<FieldTimeOwnProps & InputProps & WrapperProps>;
|
|
@@ -125,7 +113,6 @@ export const FieldTime = forwardRef<HTMLInputElement, FieldTimeProps>(
|
|
|
125
113
|
validationState = VALIDATION_STATE.Default,
|
|
126
114
|
error,
|
|
127
115
|
onCopyButtonClick,
|
|
128
|
-
decoratorRef,
|
|
129
116
|
...rest
|
|
130
117
|
},
|
|
131
118
|
ref,
|
|
@@ -303,7 +290,6 @@ export const FieldTime = forwardRef<HTMLInputElement, FieldTimeProps>(
|
|
|
303
290
|
size={size}
|
|
304
291
|
error={error}
|
|
305
292
|
validationState={fieldValidationState}
|
|
306
|
-
ref={decoratorRef}
|
|
307
293
|
{...extractSupportProps(rest)}
|
|
308
294
|
>
|
|
309
295
|
<Dropdown
|