@ozen-ui/kit 0.8.0 → 0.9.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/FieldControl/package.json +5 -0
- package/FieldInput/package.json +5 -0
- package/Fieldset/package.json +5 -0
- package/__inner__/cjs/components/Backdrop/Backdrop.d.ts +2 -2
- package/__inner__/cjs/components/Breadcrumbs/types.d.ts +2 -2
- package/__inner__/cjs/components/DataList/DataList.d.ts +1 -1
- package/__inner__/cjs/components/DataList/DataListProvider.d.ts +5 -5
- package/__inner__/cjs/components/FieldControl/FieldControl.css +135 -0
- package/__inner__/cjs/components/FieldControl/FieldControl.d.ts +13 -0
- package/__inner__/cjs/components/FieldControl/FieldControl.js +82 -0
- package/__inner__/cjs/components/FieldControl/FieldControlContext.d.ts +15 -0
- package/__inner__/cjs/components/FieldControl/FieldControlContext.js +6 -0
- package/__inner__/cjs/components/FieldControl/index.d.ts +2 -0
- package/__inner__/cjs/components/FieldControl/index.js +5 -0
- package/__inner__/cjs/components/FieldHint/FieldHint.d.ts +6 -9
- package/__inner__/cjs/components/FieldHint/FieldHint.js +24 -4
- package/__inner__/cjs/components/FieldIcon/FieldIcon.css +1 -21
- package/__inner__/cjs/components/FieldIcon/FieldIcon.d.ts +8 -12
- package/__inner__/cjs/components/FieldIcon/FieldIcon.js +15 -4
- package/__inner__/cjs/components/FieldInput/FieldInput.d.ts +11 -0
- package/__inner__/cjs/components/FieldInput/FieldInput.js +55 -0
- package/__inner__/cjs/components/FieldInput/index.d.ts +1 -0
- package/__inner__/cjs/components/FieldInput/index.js +4 -0
- package/__inner__/cjs/components/FieldLabel/FieldLabel.d.ts +7 -5
- package/__inner__/cjs/components/FieldLabel/FieldLabel.js +40 -10
- package/__inner__/cjs/components/Fieldset/Fieldset.css +13 -0
- package/__inner__/cjs/components/Fieldset/Fieldset.d.ts +10 -0
- package/__inner__/cjs/components/Fieldset/Fieldset.js +15 -0
- package/__inner__/cjs/components/Fieldset/index.d.ts +1 -0
- package/__inner__/cjs/components/Fieldset/index.js +4 -0
- package/__inner__/cjs/components/FilePicker/FilePicker.css +48 -59
- package/__inner__/cjs/components/FilePicker/FilePicker.js +2 -1
- package/__inner__/cjs/components/Input/Input.css +9 -121
- package/__inner__/cjs/components/Input/Input.d.ts +1 -62
- package/__inner__/cjs/components/Input/Input.js +32 -53
- package/__inner__/cjs/components/Input/constants.d.ts +1 -0
- package/__inner__/cjs/components/Input/constants.js +4 -0
- package/__inner__/cjs/components/Input/index.d.ts +1 -0
- package/__inner__/cjs/components/Input/index.js +1 -0
- package/__inner__/cjs/components/Input/types.d.ts +71 -0
- package/__inner__/cjs/components/Input/types.js +13 -0
- package/__inner__/cjs/components/InputNumber/InputNumber.css +61 -74
- package/__inner__/cjs/components/InputNumber/InputNumber.js +2 -1
- package/__inner__/cjs/components/InputNumber/utils.d.ts +2 -2
- package/__inner__/cjs/components/Link/Link.d.ts +1 -1
- package/__inner__/cjs/components/List/components/ListItem/ListItem.d.ts +1 -2
- package/__inner__/cjs/components/List/components/ListItemButton/ListItemButton.d.ts +1 -2
- package/__inner__/cjs/components/List/types.d.ts +3 -3
- package/__inner__/cjs/components/Menu/components/MenuItem/MenuItem.d.ts +1 -1
- package/__inner__/cjs/components/Menu/components/MenuList/MenuList.d.ts +1 -1
- package/__inner__/cjs/components/Modal/Modal.d.ts +1 -1
- package/__inner__/cjs/components/Modal/Modal.js +1 -1
- package/__inner__/cjs/components/Modal/components/ModalConsumer.d.ts +2 -2
- package/__inner__/cjs/components/Pagination/helpers/createPaginationRange/createPaginationRange.d.ts +1 -1
- package/__inner__/cjs/components/Pagination/types.d.ts +5 -5
- package/__inner__/cjs/components/Popover/types.d.ts +4 -5
- package/__inner__/cjs/components/ProgressBar/ProgressBar.d.ts +2 -2
- package/__inner__/cjs/components/Select/Select.css +5 -16
- package/__inner__/cjs/components/Select/components/SelectInput/SelectInput.js +2 -1
- package/__inner__/cjs/components/Select/types.d.ts +3 -4
- package/__inner__/cjs/components/Slider/types.d.ts +1 -1
- package/__inner__/cjs/components/Snackbar/types.d.ts +1 -1
- package/__inner__/cjs/components/Tag/components/RemoveButton/RemoveButton.d.ts +1 -1
- package/__inner__/cjs/components/Textarea/Textarea.css +3 -107
- package/__inner__/cjs/components/Textarea/Textarea.d.ts +1 -59
- package/__inner__/cjs/components/Textarea/Textarea.js +8 -62
- package/__inner__/cjs/components/Textarea/components/TextareaConsumer.d.ts +3 -0
- package/__inner__/cjs/components/Textarea/components/TextareaConsumer.js +36 -0
- package/__inner__/cjs/components/Textarea/components/TextareaCounter.d.ts +7 -0
- package/__inner__/cjs/components/Textarea/components/TextareaCounter.js +25 -0
- package/__inner__/cjs/components/Textarea/components/index.d.ts +2 -0
- package/__inner__/cjs/components/Textarea/components/index.js +5 -0
- package/__inner__/cjs/components/Textarea/constants.d.ts +1 -0
- package/__inner__/cjs/components/Textarea/constants.js +4 -0
- package/__inner__/cjs/components/Textarea/index.d.ts +1 -0
- package/__inner__/cjs/components/Textarea/index.js +1 -0
- package/__inner__/cjs/components/Textarea/types.d.ts +69 -0
- package/__inner__/cjs/components/Textarea/types.js +4 -0
- package/__inner__/cjs/components/ThemeProvider/ThemeProvider.d.ts +2 -1
- package/__inner__/cjs/components/ThemeProvider/types.d.ts +2 -0
- package/__inner__/cjs/components/Tooltip/types.d.ts +1 -1
- package/__inner__/cjs/hooks/useMultiRef/useMultiRef.d.ts +2 -3
- package/__inner__/cjs/types/ResponsiveValue.d.ts +1 -1
- package/__inner__/cjs/utils/isKey.d.ts +2 -2
- package/__inner__/cjs/utils/polymorphicComponentWithRef.d.ts +0 -1
- package/__inner__/esm/components/Backdrop/Backdrop.d.ts +2 -2
- package/__inner__/esm/components/Backdrop/Backdrop.js +1 -1
- package/__inner__/esm/components/Breadcrumbs/types.d.ts +2 -2
- package/__inner__/esm/components/DataList/DataList.d.ts +1 -1
- package/__inner__/esm/components/DataList/DataListProvider.d.ts +5 -5
- package/__inner__/esm/components/FieldControl/FieldControl.css +135 -0
- package/__inner__/esm/components/FieldControl/FieldControl.d.ts +13 -0
- package/__inner__/esm/components/FieldControl/FieldControl.js +79 -0
- package/__inner__/esm/components/FieldControl/FieldControlContext.d.ts +15 -0
- package/__inner__/esm/components/FieldControl/FieldControlContext.js +2 -0
- package/__inner__/esm/components/FieldControl/index.d.ts +2 -0
- package/__inner__/esm/components/FieldControl/index.js +2 -0
- package/__inner__/esm/components/FieldHint/FieldHint.d.ts +6 -9
- package/__inner__/esm/components/FieldHint/FieldHint.js +25 -5
- package/__inner__/esm/components/FieldIcon/FieldIcon.css +1 -21
- package/__inner__/esm/components/FieldIcon/FieldIcon.d.ts +8 -12
- package/__inner__/esm/components/FieldIcon/FieldIcon.js +16 -5
- package/__inner__/esm/components/FieldInput/FieldInput.d.ts +11 -0
- package/__inner__/esm/components/FieldInput/FieldInput.js +52 -0
- package/__inner__/esm/components/FieldInput/index.d.ts +1 -0
- package/__inner__/esm/components/FieldInput/index.js +1 -0
- package/__inner__/esm/components/FieldLabel/FieldLabel.d.ts +7 -5
- package/__inner__/esm/components/FieldLabel/FieldLabel.js +39 -8
- package/__inner__/esm/components/Fieldset/Fieldset.css +13 -0
- package/__inner__/esm/components/Fieldset/Fieldset.d.ts +10 -0
- package/__inner__/esm/components/Fieldset/Fieldset.js +12 -0
- package/__inner__/esm/components/Fieldset/index.d.ts +1 -0
- package/__inner__/esm/components/Fieldset/index.js +1 -0
- package/__inner__/esm/components/FilePicker/FilePicker.css +48 -59
- package/__inner__/esm/components/FilePicker/FilePicker.js +2 -1
- package/__inner__/esm/components/Input/Input.css +9 -121
- package/__inner__/esm/components/Input/Input.d.ts +1 -62
- package/__inner__/esm/components/Input/Input.js +33 -54
- package/__inner__/esm/components/Input/constants.d.ts +1 -0
- package/__inner__/esm/components/Input/constants.js +1 -0
- package/__inner__/esm/components/Input/index.d.ts +1 -0
- package/__inner__/esm/components/Input/index.js +1 -0
- package/__inner__/esm/components/Input/types.d.ts +71 -0
- package/__inner__/esm/components/Input/types.js +10 -0
- package/__inner__/esm/components/InputNumber/InputNumber.css +61 -74
- package/__inner__/esm/components/InputNumber/InputNumber.js +2 -1
- package/__inner__/esm/components/InputNumber/utils.d.ts +2 -2
- package/__inner__/esm/components/Link/Link.d.ts +1 -1
- package/__inner__/esm/components/List/components/ListItem/ListItem.d.ts +1 -2
- package/__inner__/esm/components/List/components/ListItemButton/ListItemButton.d.ts +1 -2
- package/__inner__/esm/components/List/types.d.ts +3 -3
- package/__inner__/esm/components/Menu/components/MenuItem/MenuItem.d.ts +1 -1
- package/__inner__/esm/components/Menu/components/MenuList/MenuList.d.ts +1 -1
- package/__inner__/esm/components/Modal/Modal.d.ts +1 -1
- package/__inner__/esm/components/Modal/Modal.js +1 -1
- package/__inner__/esm/components/Modal/components/ModalConsumer.d.ts +2 -2
- package/__inner__/esm/components/Pagination/helpers/createPaginationRange/createPaginationRange.d.ts +1 -1
- package/__inner__/esm/components/Pagination/types.d.ts +5 -5
- package/__inner__/esm/components/Popover/types.d.ts +4 -5
- package/__inner__/esm/components/ProgressBar/ProgressBar.d.ts +2 -2
- package/__inner__/esm/components/ProgressBar/ProgressBar.js +1 -1
- package/__inner__/esm/components/Select/Select.css +5 -16
- package/__inner__/esm/components/Select/components/SelectInput/SelectInput.js +2 -1
- package/__inner__/esm/components/Select/types.d.ts +3 -4
- package/__inner__/esm/components/Slider/types.d.ts +1 -1
- package/__inner__/esm/components/Snackbar/types.d.ts +1 -1
- package/__inner__/esm/components/Tag/components/RemoveButton/RemoveButton.d.ts +1 -1
- package/__inner__/esm/components/Textarea/Textarea.css +3 -107
- package/__inner__/esm/components/Textarea/Textarea.d.ts +1 -59
- package/__inner__/esm/components/Textarea/Textarea.js +9 -63
- package/__inner__/esm/components/Textarea/components/TextareaConsumer.d.ts +3 -0
- package/__inner__/esm/components/Textarea/components/TextareaConsumer.js +32 -0
- package/__inner__/esm/components/Textarea/components/TextareaCounter.d.ts +7 -0
- package/__inner__/esm/components/Textarea/components/TextareaCounter.js +21 -0
- package/__inner__/esm/components/Textarea/components/index.d.ts +2 -0
- package/__inner__/esm/components/Textarea/components/index.js +2 -0
- package/__inner__/esm/components/Textarea/constants.d.ts +1 -0
- package/__inner__/esm/components/Textarea/constants.js +1 -0
- package/__inner__/esm/components/Textarea/index.d.ts +1 -0
- package/__inner__/esm/components/Textarea/index.js +1 -0
- package/__inner__/esm/components/Textarea/types.d.ts +69 -0
- package/__inner__/esm/components/Textarea/types.js +1 -0
- package/__inner__/esm/components/ThemeProvider/ThemeProvider.d.ts +2 -1
- package/__inner__/esm/components/ThemeProvider/types.d.ts +2 -0
- package/__inner__/esm/components/Tooltip/Tooltip.js +1 -1
- package/__inner__/esm/components/Tooltip/types.d.ts +1 -1
- package/__inner__/esm/hooks/useMultiRef/useMultiRef.d.ts +2 -3
- package/__inner__/esm/types/ResponsiveValue.d.ts +1 -1
- package/__inner__/esm/utils/isKey.d.ts +2 -2
- package/__inner__/esm/utils/polymorphicComponentWithRef.d.ts +0 -1
- package/package.json +1 -1
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
type Ref<T> = React.Ref<T> | Dispatch<SetStateAction<T | undefined>> | null;
|
|
1
|
+
import type { Dispatch, SetStateAction, RefCallback, Ref as ReactRef } from 'react';
|
|
2
|
+
type Ref<T> = ReactRef<T> | Dispatch<SetStateAction<T | undefined>> | null;
|
|
4
3
|
/** Создает несколько ссылок (ref) на один DOM-элемент. */
|
|
5
4
|
export declare function useMultiRef<T>(refs: Array<Ref<T> | undefined>): RefCallback<T> | null;
|
|
6
5
|
export {};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import
|
|
1
|
+
import type { KeyboardEvent as ReactKeyboardEvent } from 'react';
|
|
2
2
|
import type { KeyCode } from '../types/KeyCode';
|
|
3
|
-
export declare const isKey: (event: KeyboardEvent |
|
|
3
|
+
export declare const isKey: (event: KeyboardEvent | ReactKeyboardEvent, key: KeyCode) => boolean;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import './Backdrop.css';
|
|
2
2
|
import type { CSSProperties, ElementType, ReactNode } from 'react';
|
|
3
|
-
import { CSSTransitionProps } from 'react-transition-group/CSSTransition';
|
|
4
|
-
import { PolymorphicComponentPropsWithRef } from '../../utils/polymorphicComponentWithRef';
|
|
3
|
+
import type { CSSTransitionProps } from 'react-transition-group/CSSTransition';
|
|
4
|
+
import type { PolymorphicComponentPropsWithRef } from '../../utils/polymorphicComponentWithRef';
|
|
5
5
|
import { BACKDROP_DEFAULT_TAG } from './constants';
|
|
6
6
|
export type BackdropBaseProps = {
|
|
7
7
|
/** Признак по которому компонент будет представлен */
|
|
@@ -4,7 +4,7 @@ import React from 'react';
|
|
|
4
4
|
import { CSSTransition } from 'react-transition-group';
|
|
5
5
|
import { useThemeProps } from '../../hooks/useThemeProps';
|
|
6
6
|
import { cn } from '../../utils/classname';
|
|
7
|
-
import { polymorphicComponentWithRef
|
|
7
|
+
import { polymorphicComponentWithRef } from '../../utils/polymorphicComponentWithRef';
|
|
8
8
|
import { BACKDROP_DEFAULT_TAG } from './constants';
|
|
9
9
|
export var cnBackdrop = cn('Backdrop');
|
|
10
10
|
export var Backdrop = polymorphicComponentWithRef(function (inProps, ref) {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import
|
|
1
|
+
import type { HTMLAttributes, FC } from 'react';
|
|
2
2
|
import type { IconProps } from '@ozen-ui/icons';
|
|
3
3
|
export declare const breadcrumbsSizeVariant: readonly ["xs", "s"];
|
|
4
4
|
export type BreadcrumbsSizeVariant = (typeof breadcrumbsSizeVariant)[number];
|
|
5
|
-
export type BreadcrumbsSeparatorComponent =
|
|
5
|
+
export type BreadcrumbsSeparatorComponent = FC<IconProps>;
|
|
6
6
|
export type BreadcrumbsContextValue = {
|
|
7
7
|
/** Размер */
|
|
8
8
|
size: BreadcrumbsSizeVariant;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import './DataList.css';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import type { ReactNode } from 'react';
|
|
4
|
-
import { FormElementSizeVariant } from '../../types/FormElementSizeVariant';
|
|
4
|
+
import type { FormElementSizeVariant } from '../../types/FormElementSizeVariant';
|
|
5
5
|
import { type ListProps } from '../List';
|
|
6
6
|
import { type PopoverProps } from '../Popover';
|
|
7
7
|
export declare const cnDataList: import("@bem-react/classname").ClassNameFormatter;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import type { SyntheticEvent, MouseEvent } from 'react';
|
|
2
2
|
import type { FormElementSizeVariant } from '../../types/FormElementSizeVariant';
|
|
3
3
|
export type DataListSelectPayload = {
|
|
4
4
|
name?: string;
|
|
@@ -10,9 +10,9 @@ export type DataListContextState = {
|
|
|
10
10
|
selected?: string;
|
|
11
11
|
keyboardHighlight: boolean;
|
|
12
12
|
size: FormElementSizeVariant;
|
|
13
|
-
onSelect?: (event:
|
|
14
|
-
onMouseMove?: (event:
|
|
15
|
-
onMouseLeave?: (event:
|
|
13
|
+
onSelect?: (event: SyntheticEvent, option: string) => void;
|
|
14
|
+
onMouseMove?: (event: MouseEvent<HTMLLIElement>) => void;
|
|
15
|
+
onMouseLeave?: (event: MouseEvent<HTMLLIElement>) => void;
|
|
16
16
|
};
|
|
17
|
-
export declare const DataListContext:
|
|
17
|
+
export declare const DataListContext: import("react").Context<DataListContextState>;
|
|
18
18
|
export declare const useDataListContext: () => DataListContextState;
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
/* stylelint-disable */
|
|
2
|
+
.FieldControl {
|
|
3
|
+
--textfield-color: var(--color-content-primary);
|
|
4
|
+
--textfield-background-color: var(--color-background-primary);
|
|
5
|
+
--textfield-border-width: var(--border-width-s);
|
|
6
|
+
--textfield-border-color: var(--color-border-main);
|
|
7
|
+
cursor: text;
|
|
8
|
+
display: inline-flex;
|
|
9
|
+
vertical-align: top;
|
|
10
|
+
flex-direction: column;
|
|
11
|
+
}
|
|
12
|
+
.FieldControl > * {
|
|
13
|
+
cursor: text;
|
|
14
|
+
}
|
|
15
|
+
.FieldControl_size_2xs {
|
|
16
|
+
--textfield-gutter-x: 12px;
|
|
17
|
+
--textfield-input-height: 32px;
|
|
18
|
+
--textfield-input-padding: 8px 0;
|
|
19
|
+
--textfield-input-gap: var(--space-s);
|
|
20
|
+
|
|
21
|
+
font: var(--typography-text-2xs-font);
|
|
22
|
+
|
|
23
|
+
letter-spacing: var(--typography-text-2xs-letter_spacing, 0);
|
|
24
|
+
|
|
25
|
+
text-transform: var(--typography-text-2xs-text_transform, none);
|
|
26
|
+
}
|
|
27
|
+
.FieldControl_size_2xs .FieldInput::-webkit-calendar-picker-indicator {
|
|
28
|
+
inset-inline-end: -25px;
|
|
29
|
+
}
|
|
30
|
+
.FieldControl_size_xs {
|
|
31
|
+
--textfield-gutter-x: 12px;
|
|
32
|
+
--textfield-input-height: 40px;
|
|
33
|
+
--textfield-input-padding: 12px 0;
|
|
34
|
+
--textfield-input-gap: var(--space-s);
|
|
35
|
+
|
|
36
|
+
font: var(--typography-text-xs-font);
|
|
37
|
+
|
|
38
|
+
letter-spacing: var(--typography-text-xs-letter_spacing, 0);
|
|
39
|
+
|
|
40
|
+
text-transform: var(--typography-text-xs-text_transform, none);
|
|
41
|
+
}
|
|
42
|
+
.FieldControl_size_xs .FieldInput::-webkit-calendar-picker-indicator {
|
|
43
|
+
inset-inline-end: -25px;
|
|
44
|
+
}
|
|
45
|
+
.FieldControl_size_s {
|
|
46
|
+
--textfield-gutter-x: 16px;
|
|
47
|
+
--textfield-input-height: 48px;
|
|
48
|
+
--textfield-input-padding: 14px 0;
|
|
49
|
+
--textfield-input-gap: var(--space-m);
|
|
50
|
+
|
|
51
|
+
font: var(--typography-text-s-font);
|
|
52
|
+
|
|
53
|
+
letter-spacing: var(--typography-text-s-letter_spacing, 0);
|
|
54
|
+
|
|
55
|
+
text-transform: var(--typography-text-s-text_transform, none);
|
|
56
|
+
}
|
|
57
|
+
.FieldControl_size_s .FieldInput::-webkit-calendar-picker-indicator {
|
|
58
|
+
inset-inline-end: -30px;
|
|
59
|
+
}
|
|
60
|
+
.FieldControl_size_m {
|
|
61
|
+
--textfield-gutter-x: 20px;
|
|
62
|
+
--textfield-input-height: 56px;
|
|
63
|
+
--textfield-input-padding: 16px 0;
|
|
64
|
+
--textfield-input-gap: var(--space-m);
|
|
65
|
+
|
|
66
|
+
font: var(--typography-text-m-font);
|
|
67
|
+
|
|
68
|
+
letter-spacing: var(--typography-text-m-letter_spacing, 0);
|
|
69
|
+
|
|
70
|
+
text-transform: var(--typography-text-m-text_transform, none);
|
|
71
|
+
}
|
|
72
|
+
.FieldControl_size_m .FieldInput::-webkit-calendar-picker-indicator {
|
|
73
|
+
inset-inline-end: -34px;
|
|
74
|
+
}
|
|
75
|
+
.FieldControl_size_l {
|
|
76
|
+
--textfield-gutter-x: 24px;
|
|
77
|
+
--textfield-input-height: 64px;
|
|
78
|
+
--textfield-input-padding: 18px 0;
|
|
79
|
+
--textfield-input-gap: var(--space-l);
|
|
80
|
+
|
|
81
|
+
font: var(--typography-text-l-font);
|
|
82
|
+
|
|
83
|
+
letter-spacing: var(--typography-text-l-letter_spacing, 0);
|
|
84
|
+
|
|
85
|
+
text-transform: var(--typography-text-l-text_transform, none);
|
|
86
|
+
}
|
|
87
|
+
.FieldControl_size_l .FieldInput::-webkit-calendar-picker-indicator {
|
|
88
|
+
inset-inline-end: -39px;
|
|
89
|
+
}
|
|
90
|
+
.FieldControl_hasLabel.FieldControl_size_2xs {
|
|
91
|
+
--textfield-input-padding: 8px 0 8px;
|
|
92
|
+
}
|
|
93
|
+
.FieldControl_hasLabel.FieldControl_size_xs {
|
|
94
|
+
--textfield-input-padding: 19px 0 4px;
|
|
95
|
+
}
|
|
96
|
+
.FieldControl_hasLabel.FieldControl_size_s {
|
|
97
|
+
--textfield-input-padding: 21px 0 6px;
|
|
98
|
+
}
|
|
99
|
+
.FieldControl_hasLabel.FieldControl_size_m {
|
|
100
|
+
--textfield-input-padding: 24px 0 6px;
|
|
101
|
+
}
|
|
102
|
+
.FieldControl_hasLabel.FieldControl_size_l {
|
|
103
|
+
--textfield-input-padding: 26px 0 6px;
|
|
104
|
+
}
|
|
105
|
+
.FieldControl_hasLabel .FieldInput::placeholder {
|
|
106
|
+
opacity: 0;
|
|
107
|
+
}
|
|
108
|
+
.FieldControl_hasLabel .FieldInput:focus::placeholder {
|
|
109
|
+
opacity: 1;
|
|
110
|
+
}
|
|
111
|
+
.FieldControl_fullWidth {
|
|
112
|
+
inline-size: 100%;
|
|
113
|
+
}
|
|
114
|
+
.FieldControl:hover {
|
|
115
|
+
--textfield-border-color: var(--color-border-main-hover);
|
|
116
|
+
}
|
|
117
|
+
.FieldControl_focused,
|
|
118
|
+
.FieldControl_focused:hover {
|
|
119
|
+
--textfield-border-width: var(--border-width-m);
|
|
120
|
+
--textfield-background-color: var(--color-background-main);
|
|
121
|
+
--textfield-border-color: var(--color-border-action);
|
|
122
|
+
}
|
|
123
|
+
.FieldControl_error,
|
|
124
|
+
.FieldControl_error.FieldControl:hover,
|
|
125
|
+
.FieldControl_error.FieldControl_focused,
|
|
126
|
+
.FieldControl_error.FieldControl_focused:hover {
|
|
127
|
+
--textfield-border-color: var(--color-border-error);
|
|
128
|
+
}
|
|
129
|
+
.FieldControl_disabled {
|
|
130
|
+
--textfield-border-color: var(--color-border-disabled);
|
|
131
|
+
--textfield-background-color: var(--color-background-disabled);
|
|
132
|
+
--textfield-color: var(--color-content-secondary);
|
|
133
|
+
pointer-events: none;
|
|
134
|
+
cursor: default;
|
|
135
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import './FieldControl.css';
|
|
2
|
+
import type { ElementType, ComponentRef } from 'react';
|
|
3
|
+
import { type PolymorphicComponentPropsWithoutRef } from '../../utils/polymorphicComponentWithRef';
|
|
4
|
+
import type { FieldControlContextValue } from './index';
|
|
5
|
+
export declare const FIELD_CONTROL_DEFAULT_TAG = "div";
|
|
6
|
+
export type FieldControlRef = ComponentRef<typeof FIELD_CONTROL_DEFAULT_TAG>;
|
|
7
|
+
export type FieldControlBaseProps = Omit<FieldControlContextValue, 'label'> & {
|
|
8
|
+
/** data-атрибут для тестирования */
|
|
9
|
+
'data-testid'?: string;
|
|
10
|
+
};
|
|
11
|
+
export type FieldControlProps<As extends ElementType = 'div'> = PolymorphicComponentPropsWithoutRef<FieldControlBaseProps, As>;
|
|
12
|
+
export declare const cnFieldControl: import("@bem-react/classname").ClassNameFormatter;
|
|
13
|
+
export declare const FieldControl: import("../../utils/polymorphicComponentWithRef").PolymorphicComponentWithRef<FieldControlBaseProps, "div">;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { __assign, __read, __rest } from "tslib";
|
|
2
|
+
import './FieldControl.css';
|
|
3
|
+
import React, { useState } from 'react';
|
|
4
|
+
import { useThemeProps } from '../../hooks/useThemeProps';
|
|
5
|
+
import { cn } from '../../utils/classname';
|
|
6
|
+
import { polymorphicComponentWithRef, } from '../../utils/polymorphicComponentWithRef';
|
|
7
|
+
import { FieldControlContext } from './index';
|
|
8
|
+
export var FIELD_CONTROL_DEFAULT_TAG = 'div';
|
|
9
|
+
export var cnFieldControl = cn('FieldControl');
|
|
10
|
+
export var FieldControl = polymorphicComponentWithRef(function (inProps, ref) {
|
|
11
|
+
var props = useThemeProps({
|
|
12
|
+
props: inProps,
|
|
13
|
+
name: 'FieldControl'
|
|
14
|
+
});
|
|
15
|
+
var _a = props.as, Tag = _a === void 0 ? FIELD_CONTROL_DEFAULT_TAG : _a, sizeProp = props.size, disabledProp = props.disabled, requiredProp = props.required, errorProp = props.error, fullWidthProp = props.fullWidth, filledProp = props.filled, focusedProp = props.focused, children = props.children, className = props.className, otherProp = __rest(props, ["as", "size", "disabled", "required", "error", "fullWidth", "filled", "focused", "children", "className"]);
|
|
16
|
+
var focused = focusedProp;
|
|
17
|
+
var filled = filledProp;
|
|
18
|
+
var size = sizeProp;
|
|
19
|
+
var required = requiredProp;
|
|
20
|
+
var disabled = disabledProp;
|
|
21
|
+
var error = errorProp;
|
|
22
|
+
var fullWidth = fullWidthProp;
|
|
23
|
+
var initialState = {
|
|
24
|
+
size: size,
|
|
25
|
+
filled: filled,
|
|
26
|
+
focused: focused,
|
|
27
|
+
disabled: disabled,
|
|
28
|
+
required: required,
|
|
29
|
+
error: error,
|
|
30
|
+
fullWidth: fullWidth
|
|
31
|
+
};
|
|
32
|
+
var _b = __read(useState(initialState), 2), state = _b[0], setState = _b[1];
|
|
33
|
+
var label = state.label, value = state.value;
|
|
34
|
+
if (size === undefined && state.size) {
|
|
35
|
+
size = state.size;
|
|
36
|
+
}
|
|
37
|
+
if (focused === undefined && state.focused) {
|
|
38
|
+
focused = state.focused;
|
|
39
|
+
}
|
|
40
|
+
if (filled === undefined && state.filled) {
|
|
41
|
+
filled = state.filled;
|
|
42
|
+
}
|
|
43
|
+
if (disabled === undefined && state.disabled) {
|
|
44
|
+
disabled = state.disabled;
|
|
45
|
+
}
|
|
46
|
+
if (required === undefined && state.required) {
|
|
47
|
+
required = state.required;
|
|
48
|
+
}
|
|
49
|
+
if (error === undefined && state.error) {
|
|
50
|
+
error = state.error;
|
|
51
|
+
}
|
|
52
|
+
if (fullWidth === undefined && state.fullWidth) {
|
|
53
|
+
fullWidth = state.fullWidth;
|
|
54
|
+
}
|
|
55
|
+
return (React.createElement(Tag, __assign({ className: cnFieldControl({
|
|
56
|
+
error: error,
|
|
57
|
+
fullWidth: fullWidth,
|
|
58
|
+
disabled: disabled,
|
|
59
|
+
required: required,
|
|
60
|
+
size: size,
|
|
61
|
+
filled: filled,
|
|
62
|
+
focused: focused,
|
|
63
|
+
hasLabel: !!label
|
|
64
|
+
}, [className]) }, otherProp, { ref: ref }),
|
|
65
|
+
React.createElement(FieldControlContext.Provider, { value: [
|
|
66
|
+
{
|
|
67
|
+
error: error,
|
|
68
|
+
fullWidth: fullWidth,
|
|
69
|
+
disabled: disabled,
|
|
70
|
+
required: required,
|
|
71
|
+
size: size,
|
|
72
|
+
filled: filled,
|
|
73
|
+
focused: focused,
|
|
74
|
+
value: value
|
|
75
|
+
},
|
|
76
|
+
setState,
|
|
77
|
+
] }, children)));
|
|
78
|
+
});
|
|
79
|
+
FieldControl.displayName = 'FieldControl';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Dispatch, SetStateAction } from 'react';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import type { FormElementSizeVariant } from '../../types/FormElementSizeVariant';
|
|
4
|
+
export type FieldControlContextValue = {
|
|
5
|
+
size?: FormElementSizeVariant;
|
|
6
|
+
error?: boolean;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
required?: boolean;
|
|
9
|
+
fullWidth?: boolean;
|
|
10
|
+
filled?: boolean;
|
|
11
|
+
focused?: boolean;
|
|
12
|
+
label?: string;
|
|
13
|
+
value?: string | number;
|
|
14
|
+
};
|
|
15
|
+
export declare const FieldControlContext: React.Context<[FieldControlContextValue, Dispatch<SetStateAction<FieldControlContextValue>>]>;
|
|
@@ -1,17 +1,14 @@
|
|
|
1
1
|
import './FieldHint.css';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import type {
|
|
3
|
+
import type { ReactNode, ComponentPropsWithRef, ComponentRef } from 'react';
|
|
4
4
|
import type { FormElementSizeVariant } from '../../types/FormElementSizeVariant';
|
|
5
|
-
export
|
|
5
|
+
export declare const FIELD_HINT_DEFAULT_TAG = "div";
|
|
6
|
+
export type FieldHintRef = ComponentRef<typeof FIELD_HINT_DEFAULT_TAG>;
|
|
7
|
+
export type FieldHintProps = ComponentPropsWithRef<typeof FIELD_HINT_DEFAULT_TAG> & {
|
|
6
8
|
children?: ReactNode;
|
|
7
9
|
error?: boolean;
|
|
8
10
|
disabled?: boolean;
|
|
9
11
|
size?: FormElementSizeVariant;
|
|
10
|
-
}
|
|
12
|
+
};
|
|
11
13
|
export declare const cnFieldHint: import("@bem-react/classname").ClassNameFormatter;
|
|
12
|
-
export declare const FieldHint: React.ForwardRefExoticComponent<
|
|
13
|
-
children?: ReactNode;
|
|
14
|
-
error?: boolean | undefined;
|
|
15
|
-
disabled?: boolean | undefined;
|
|
16
|
-
size?: "s" | "m" | "l" | "2xs" | "xs" | undefined;
|
|
17
|
-
} & Omit<React.HTMLAttributes<HTMLDivElement>, "color"> & React.RefAttributes<HTMLDivElement>>;
|
|
14
|
+
export declare const FieldHint: React.ForwardRefExoticComponent<Omit<FieldHintProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -1,13 +1,33 @@
|
|
|
1
|
-
import { __assign, __rest } from "tslib";
|
|
1
|
+
import { __assign, __read, __rest } from "tslib";
|
|
2
2
|
import './FieldHint.css';
|
|
3
|
-
import React, { forwardRef } from 'react';
|
|
3
|
+
import React, { forwardRef, useContext, Children } from 'react';
|
|
4
4
|
import { cn } from '../../utils/classname';
|
|
5
|
+
import { FieldControlContext } from '../FieldControl';
|
|
6
|
+
export var FIELD_HINT_DEFAULT_TAG = 'div';
|
|
5
7
|
export var cnFieldHint = cn('FieldHint');
|
|
6
8
|
export var FieldHint = forwardRef(function (_a, ref) {
|
|
7
|
-
var children = _a.children,
|
|
8
|
-
|
|
9
|
+
var children = _a.children, errorProp = _a.error, disabledProp = _a.disabled, sizeProp = _a.size, className = _a.className, other = __rest(_a, ["children", "error", "disabled", "size", "className"]);
|
|
10
|
+
var context = useContext(FieldControlContext);
|
|
11
|
+
var _b = __read(context, 1), fieldControl = _b[0];
|
|
12
|
+
var Tag = FIELD_HINT_DEFAULT_TAG;
|
|
13
|
+
var size = sizeProp;
|
|
14
|
+
var error = errorProp;
|
|
15
|
+
var disabled = disabledProp;
|
|
16
|
+
var childrenCount = Children.toArray(children).filter(function (element) { return element !== undefined; }).length;
|
|
17
|
+
if (!childrenCount) {
|
|
9
18
|
return null;
|
|
10
19
|
}
|
|
11
|
-
|
|
20
|
+
if (fieldControl) {
|
|
21
|
+
if (size === undefined && fieldControl.size) {
|
|
22
|
+
size = fieldControl.size;
|
|
23
|
+
}
|
|
24
|
+
if (error === undefined && fieldControl.error) {
|
|
25
|
+
error = fieldControl.error;
|
|
26
|
+
}
|
|
27
|
+
if (disabled === undefined && fieldControl.disabled) {
|
|
28
|
+
disabled = fieldControl.disabled;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return (React.createElement(Tag, __assign({ className: cnFieldHint({ error: error, disabled: disabled, size: size }, [className]) }, other, { ref: ref }), children));
|
|
12
32
|
});
|
|
13
33
|
FieldHint.displayName = 'FieldHint';
|
|
@@ -2,25 +2,5 @@
|
|
|
2
2
|
display: flex;
|
|
3
3
|
align-items: center;
|
|
4
4
|
color: var(--color-content-secondary);
|
|
5
|
-
font:
|
|
5
|
+
font: inherit;
|
|
6
6
|
}
|
|
7
|
-
|
|
8
|
-
.FieldIcon_size_2xs {
|
|
9
|
-
--field-icon-input-font: var(--typography-text-2xs-font);
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
.FieldIcon_size_xs {
|
|
13
|
-
--field-icon-input-font: var(--typography-text-xs-font);
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
.FieldIcon_size_s {
|
|
17
|
-
--field-icon-input-font: var(--typography-text-s-font);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
.FieldIcon_size_m {
|
|
21
|
-
--field-icon-input-font: var(--typography-text-m-font);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
.FieldIcon_size_l {
|
|
25
|
-
--field-icon-input-font: var(--typography-text-l-font);
|
|
26
|
-
}
|
|
@@ -1,20 +1,16 @@
|
|
|
1
1
|
import './FieldIcon.css';
|
|
2
|
+
import type { ComponentPropsWithRef, ComponentRef, FC } from 'react';
|
|
2
3
|
import React from 'react';
|
|
3
|
-
import type { HTMLAttributes } from 'react';
|
|
4
4
|
import type { IconProps, IconSize } from '@ozen-ui/icons';
|
|
5
5
|
import type { FormElementSizeVariant } from '../../types/FormElementSizeVariant';
|
|
6
|
-
export
|
|
7
|
-
|
|
6
|
+
export declare const FIELD_ICON_DEFAULT_TAG = "div";
|
|
7
|
+
export type FieldIconRef = ComponentRef<typeof FIELD_ICON_DEFAULT_TAG>;
|
|
8
|
+
export type FieldIconProps = ComponentPropsWithRef<typeof FIELD_ICON_DEFAULT_TAG> & {
|
|
9
|
+
icon?: string | FC<IconProps & {
|
|
8
10
|
size?: IconSize;
|
|
9
11
|
}> | undefined;
|
|
10
|
-
size
|
|
12
|
+
size?: FormElementSizeVariant;
|
|
11
13
|
children?: never;
|
|
12
|
-
}
|
|
14
|
+
};
|
|
13
15
|
export declare const cnFieldIcon: import("@bem-react/classname").ClassNameFormatter;
|
|
14
|
-
export declare const FieldIcon: React.ForwardRefExoticComponent<
|
|
15
|
-
icon?: string | React.FC<IconProps & {
|
|
16
|
-
size?: IconSize;
|
|
17
|
-
}> | undefined;
|
|
18
|
-
size: FormElementSizeVariant;
|
|
19
|
-
children?: undefined;
|
|
20
|
-
} & Omit<React.HTMLAttributes<HTMLDivElement>, "children"> & React.RefAttributes<HTMLDivElement>>;
|
|
16
|
+
export declare const FieldIcon: React.ForwardRefExoticComponent<Omit<FieldIconProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -1,24 +1,35 @@
|
|
|
1
|
-
import { __assign, __rest } from "tslib";
|
|
1
|
+
import { __assign, __read, __rest } from "tslib";
|
|
2
2
|
import './FieldIcon.css';
|
|
3
|
-
import React, { forwardRef } from 'react';
|
|
3
|
+
import React, { forwardRef, useContext } from 'react';
|
|
4
4
|
import { isValidElementType } from 'react-is';
|
|
5
5
|
import { cn } from '../../utils/classname';
|
|
6
6
|
import { getIconSizeToFormElement } from '../../utils/getIconSizeToFormElement';
|
|
7
|
+
import { FieldControlContext } from '../FieldControl';
|
|
8
|
+
export var FIELD_ICON_DEFAULT_TAG = 'div';
|
|
7
9
|
export var cnFieldIcon = cn('FieldIcon');
|
|
8
10
|
var resolveChildren = function (Content, size) {
|
|
9
11
|
if (typeof Content === 'string') {
|
|
10
12
|
return Content;
|
|
11
13
|
}
|
|
12
14
|
if (isValidElementType(Content)) {
|
|
13
|
-
return React.createElement(Content, { size: getIconSizeToFormElement(size) });
|
|
15
|
+
return React.createElement(Content, { size: size && getIconSizeToFormElement(size) });
|
|
14
16
|
}
|
|
15
17
|
return null;
|
|
16
18
|
};
|
|
17
19
|
export var FieldIcon = forwardRef(function (_a, ref) {
|
|
18
|
-
var icon = _a.icon, className = _a.className,
|
|
20
|
+
var icon = _a.icon, className = _a.className, sizeProp = _a.size, other = __rest(_a, ["icon", "className", "size"]);
|
|
21
|
+
var context = useContext(FieldControlContext);
|
|
22
|
+
var _b = __read(context, 1), fieldControl = _b[0];
|
|
23
|
+
var Tag = FIELD_ICON_DEFAULT_TAG;
|
|
24
|
+
var size = sizeProp;
|
|
19
25
|
if (!icon) {
|
|
20
26
|
return null;
|
|
21
27
|
}
|
|
22
|
-
|
|
28
|
+
if (fieldControl) {
|
|
29
|
+
if (size === undefined && fieldControl.size) {
|
|
30
|
+
size = fieldControl.size;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return (React.createElement(Tag, __assign({ className: cnFieldIcon({ size: size }, [className]) }, other, { ref: ref }), resolveChildren(icon, size)));
|
|
23
34
|
});
|
|
24
35
|
FieldIcon.displayName = 'FieldIcon';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ComponentRef, ElementType } from 'react';
|
|
2
|
+
import type { PolymorphicComponentPropsWithoutRef } from '../../utils/polymorphicComponentWithRef';
|
|
3
|
+
export declare const FIELD_INPUT_DEFAULT_TAG = "input";
|
|
4
|
+
export type FieldInputRef = ComponentRef<typeof FIELD_INPUT_DEFAULT_TAG>;
|
|
5
|
+
type FieldInputBaseProps = {
|
|
6
|
+
'data-testid'?: string;
|
|
7
|
+
};
|
|
8
|
+
export type FieldInputProps<As extends ElementType = typeof FIELD_INPUT_DEFAULT_TAG> = PolymorphicComponentPropsWithoutRef<FieldInputBaseProps, As>;
|
|
9
|
+
export declare const cnFieldInput: import("@bem-react/classname").ClassNameFormatter;
|
|
10
|
+
export declare const FieldInput: import("../../utils/polymorphicComponentWithRef").PolymorphicComponentWithRef<FieldInputBaseProps, "div">;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { __assign, __read, __rest } from "tslib";
|
|
2
|
+
import React, { useCallback, useContext, useState } from 'react';
|
|
3
|
+
import { useControlled } from '../../hooks/useControlled';
|
|
4
|
+
import { useIsomorphicEffect } from '../../hooks/useIsomorphicEffect';
|
|
5
|
+
import { cn } from '../../utils/classname';
|
|
6
|
+
import { polymorphicComponentWithRef } from '../../utils/polymorphicComponentWithRef';
|
|
7
|
+
import { FieldControlContext } from '../FieldControl';
|
|
8
|
+
export var FIELD_INPUT_DEFAULT_TAG = 'input';
|
|
9
|
+
export var cnFieldInput = cn('FieldInput');
|
|
10
|
+
export var FieldInput = polymorphicComponentWithRef(function (_a, ref) {
|
|
11
|
+
var _b = _a.as, Tag = _b === void 0 ? FIELD_INPUT_DEFAULT_TAG : _b, className = _a.className, requiredProp = _a.required, disabledProp = _a.disabled, valueProp = _a.value, onChange = _a.onChange, defaultValue = _a.defaultValue, children = _a.children, onFocus = _a.onFocus, onBlur = _a.onBlur, other = __rest(_a, ["as", "className", "required", "disabled", "value", "onChange", "defaultValue", "children", "onFocus", "onBlur"]);
|
|
12
|
+
var _c = __read(useState(), 2), focused = _c[0], setFocused = _c[1];
|
|
13
|
+
var context = useContext(FieldControlContext);
|
|
14
|
+
var _d = __read(context, 2), fieldControl = _d[0], setFieldControl = _d[1];
|
|
15
|
+
var _e = __read(useControlled({
|
|
16
|
+
value: valueProp,
|
|
17
|
+
name: 'FieldInput',
|
|
18
|
+
state: 'value',
|
|
19
|
+
defaultValue: defaultValue
|
|
20
|
+
}), 2), valueState = _e[0], setValueState = _e[1];
|
|
21
|
+
var filled = !!valueState || valueState === 0;
|
|
22
|
+
var required = requiredProp;
|
|
23
|
+
var disabled = disabledProp;
|
|
24
|
+
if (fieldControl) {
|
|
25
|
+
if (required === undefined && fieldControl.required) {
|
|
26
|
+
required = fieldControl.required;
|
|
27
|
+
}
|
|
28
|
+
if (disabled === undefined && fieldControl.disabled) {
|
|
29
|
+
disabled = fieldControl.disabled;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
useIsomorphicEffect(function () {
|
|
33
|
+
setFieldControl(function (prevState) { return (__assign(__assign({}, prevState), { filled: filled, focused: focused, value: valueState })); });
|
|
34
|
+
}, [filled, focused, valueState]);
|
|
35
|
+
var handleChange = useCallback(function (e) {
|
|
36
|
+
if (disabled)
|
|
37
|
+
return;
|
|
38
|
+
var value = e.target.value;
|
|
39
|
+
setValueState(value);
|
|
40
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(e);
|
|
41
|
+
}, [onChange, disabled]);
|
|
42
|
+
var handleFocus = useCallback(function (e) {
|
|
43
|
+
setFocused(true);
|
|
44
|
+
onFocus === null || onFocus === void 0 ? void 0 : onFocus(e);
|
|
45
|
+
}, [onFocus]);
|
|
46
|
+
var handleBlur = useCallback(function (e) {
|
|
47
|
+
setFocused(false);
|
|
48
|
+
onBlur === null || onBlur === void 0 ? void 0 : onBlur(e);
|
|
49
|
+
}, [onBlur]);
|
|
50
|
+
return (React.createElement(Tag, __assign({ className: cnFieldInput({}, [className]), required: required, disabled: disabled, onFocus: handleFocus, onBlur: handleBlur, onChange: handleChange, defaultValue: defaultValue, value: valueProp }, other, { ref: ref }), children));
|
|
51
|
+
});
|
|
52
|
+
FieldInput.displayName = 'FieldInput';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './FieldInput';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './FieldInput';
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import type { HTMLAttributes, Ref } from 'react';
|
|
2
|
-
import * as React from 'react';
|
|
3
1
|
import './FieldLabel.css';
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
import type { Ref, ComponentRef, ComponentPropsWithRef } from 'react';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import type { FormElementSizeVariant } from '../../types/FormElementSizeVariant';
|
|
5
|
+
export type FieldLabelSizeVariant = FormElementSizeVariant;
|
|
6
|
+
export declare const FIELD_LABEL_DEFAULT_TAG = "span";
|
|
7
|
+
export type FieldLabelRef = ComponentRef<typeof FIELD_LABEL_DEFAULT_TAG>;
|
|
6
8
|
export type FieldLabelProps = {
|
|
7
9
|
/** Если {true} переводит компонент в визуальное состояние заполненный */
|
|
8
10
|
filled?: boolean;
|
|
@@ -20,6 +22,6 @@ export type FieldLabelProps = {
|
|
|
20
22
|
ref?: Ref<HTMLSpanElement>;
|
|
21
23
|
/** Значение компонента */
|
|
22
24
|
children?: string;
|
|
23
|
-
} &
|
|
25
|
+
} & ComponentPropsWithRef<typeof FIELD_LABEL_DEFAULT_TAG>;
|
|
24
26
|
export declare const cnFieldLabel: import("@bem-react/classname").ClassNameFormatter;
|
|
25
27
|
export declare const FieldLabel: React.ForwardRefExoticComponent<Omit<FieldLabelProps, "ref"> & React.RefAttributes<HTMLSpanElement>>;
|