@ozen-ui/kit 0.75.0 → 0.77.0
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/ImageBase/package.json +5 -0
- package/StepperVertical/package.json +5 -0
- package/__inner__/cjs/components/Autocomplete/helper.d.ts +5 -5
- package/__inner__/cjs/components/Autocomplete/types.d.ts +1 -1
- package/__inner__/cjs/components/AutocompleteBase/AutocompleteBase.d.ts +2 -1
- package/__inner__/cjs/components/AutocompleteNext/helpers.d.ts +4 -4
- package/__inner__/cjs/components/ButtonNext/types.d.ts +2 -1
- package/__inner__/cjs/components/DataList/types.d.ts +1 -1
- package/__inner__/cjs/components/InputOTP/InputOTP.js +79 -76
- package/__inner__/cjs/components/InputOTP/constants.d.ts +4 -4
- package/__inner__/cjs/components/InputOTP/presets.d.ts +5 -0
- package/__inner__/cjs/components/InputOTP/presets.js +5 -0
- package/__inner__/cjs/components/InputOTP/types.d.ts +9 -6
- package/__inner__/cjs/components/OzenProvider/providers/theme/entities/defaultProps.d.ts +6 -0
- package/__inner__/cjs/components/Select/Select.css +10 -1
- package/__inner__/cjs/components/Select/Select.d.ts +0 -1
- package/__inner__/cjs/components/Select/Select.js +40 -10
- package/__inner__/cjs/components/Select/SelectContext.d.ts +21 -0
- package/__inner__/cjs/components/Select/SelectContext.js +29 -0
- package/__inner__/cjs/components/Select/classNames.d.ts +1 -0
- package/__inner__/cjs/components/Select/classNames.js +5 -0
- package/__inner__/cjs/components/Select/components/SelectInput/SelectInput.js +14 -15
- package/__inner__/cjs/components/Select/components/SelectInput/types.d.ts +0 -22
- package/__inner__/cjs/components/Select/components/SelectInputContextConsumer/SelectInputContextConsumer.js +3 -3
- package/__inner__/cjs/components/Select/components/SelectInputRenderRight/SelectInputRenderRight.d.ts +2 -0
- package/__inner__/cjs/components/Select/components/SelectInputRenderRight/SelectInputRenderRight.js +42 -0
- package/__inner__/cjs/components/Select/components/SelectInputRenderRight/index.d.ts +1 -0
- package/__inner__/cjs/components/Select/components/SelectInputRenderRight/index.js +4 -0
- package/__inner__/cjs/components/Select/components/index.d.ts +1 -0
- package/__inner__/cjs/components/Select/components/index.js +1 -0
- package/__inner__/cjs/components/Select/constants.d.ts +3 -0
- package/__inner__/cjs/components/Select/constants.js +8 -1
- package/__inner__/cjs/components/Select/entities/index.d.ts +2 -0
- package/__inner__/cjs/components/Select/entities/index.js +5 -0
- package/__inner__/cjs/components/Select/entities/onClear.d.ts +2 -0
- package/__inner__/cjs/components/Select/entities/onClear.js +2 -0
- package/__inner__/cjs/components/Select/entities/render.d.ts +6 -0
- package/__inner__/cjs/components/Select/entities/render.js +4 -0
- package/__inner__/cjs/components/Select/index.d.ts +1 -0
- package/__inner__/cjs/components/Select/index.js +1 -0
- package/__inner__/cjs/components/Select/types.d.ts +30 -5
- package/__inner__/cjs/components/Select/types.js +3 -0
- package/__inner__/cjs/components/StepperVertical/StepperVertical.css +4 -0
- package/__inner__/cjs/components/StepperVertical/StepperVertical.d.ts +7 -0
- package/__inner__/cjs/components/StepperVertical/StepperVertical.js +21 -0
- package/__inner__/cjs/components/StepperVertical/StepperVerticalContext.d.ts +6 -0
- package/__inner__/cjs/components/StepperVertical/StepperVerticalContext.js +18 -0
- package/__inner__/cjs/components/StepperVertical/constants.d.ts +3 -0
- package/__inner__/cjs/components/StepperVertical/constants.js +6 -0
- package/__inner__/cjs/components/StepperVertical/index.d.ts +5 -0
- package/__inner__/cjs/components/StepperVertical/index.js +8 -0
- package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalIconIndicator/StepperVerticalIconIndicator.css +4 -0
- package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalIconIndicator/StepperVerticalIconIndicator.d.ts +3 -0
- package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalIconIndicator/StepperVerticalIconIndicator.js +24 -0
- package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalIconIndicator/constants.d.ts +3 -0
- package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalIconIndicator/constants.js +12 -0
- package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalIconIndicator/entities/icon.d.ts +3 -0
- package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalIconIndicator/entities/icon.js +2 -0
- package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalIconIndicator/entities/index.d.ts +1 -0
- package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalIconIndicator/entities/index.js +4 -0
- package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalIconIndicator/index.d.ts +4 -0
- package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalIconIndicator/index.js +7 -0
- package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalIconIndicator/types.d.ts +7 -0
- package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalIconIndicator/types.js +2 -0
- package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalIndicator/StepperVerticalIndicator.css +20 -0
- package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalIndicator/StepperVerticalIndicator.d.ts +3 -0
- package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalIndicator/StepperVerticalIndicator.js +23 -0
- package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalIndicator/constants.d.ts +1 -0
- package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalIndicator/constants.js +4 -0
- package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalIndicator/index.d.ts +3 -0
- package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalIndicator/index.js +6 -0
- package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalIndicator/types.d.ts +11 -0
- package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalIndicator/types.js +2 -0
- package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStep/StepperVerticalStep.css +105 -0
- package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStep/StepperVerticalStep.d.ts +3 -0
- package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStep/StepperVerticalStep.js +41 -0
- package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStep/StepperVerticalStepContext.d.ts +8 -0
- package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStep/StepperVerticalStepContext.js +19 -0
- package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStep/constants.d.ts +3 -0
- package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStep/constants.js +6 -0
- package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStep/entities/index.d.ts +1 -0
- package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStep/entities/index.js +4 -0
- package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStep/entities/variant.d.ts +2 -0
- package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStep/entities/variant.js +11 -0
- package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStep/index.d.ts +5 -0
- package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStep/index.js +8 -0
- package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStep/types.d.ts +26 -0
- package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStep/types.js +2 -0
- package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStepButton/StepperVerticalStepButton.d.ts +3 -0
- package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStepButton/StepperVerticalStepButton.js +19 -0
- package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStepButton/constants.d.ts +3 -0
- package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStepButton/constants.js +8 -0
- package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStepButton/index.d.ts +3 -0
- package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStepButton/index.js +6 -0
- package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStepButton/types.d.ts +7 -0
- package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStepButton/types.js +2 -0
- package/__inner__/cjs/components/StepperVertical/modules/index.d.ts +4 -0
- package/__inner__/cjs/components/StepperVertical/modules/index.js +7 -0
- package/__inner__/cjs/components/StepperVertical/types.d.ts +13 -0
- package/__inner__/cjs/components/StepperVertical/types.js +2 -0
- package/__inner__/cjs/hooks/useLockBodyScroll/useLockBodyScroll.js +25 -5
- package/__inner__/cjs/locale/locale.js +9 -0
- package/__inner__/cjs/utils/array/generatePermutations/generatePermutations.d.ts +1 -0
- package/__inner__/cjs/utils/array/generatePermutations/generatePermutations.js +47 -0
- package/__inner__/cjs/utils/array/generatePermutations/index.d.ts +1 -0
- package/__inner__/cjs/utils/array/generatePermutations/index.js +4 -0
- package/__inner__/cjs/utils/array/index.d.ts +1 -0
- package/__inner__/cjs/utils/array/index.js +1 -0
- package/__inner__/esm/components/Autocomplete/helper.d.ts +5 -5
- package/__inner__/esm/components/Autocomplete/types.d.ts +1 -1
- package/__inner__/esm/components/AutocompleteBase/AutocompleteBase.d.ts +2 -1
- package/__inner__/esm/components/AutocompleteNext/helpers.d.ts +4 -4
- package/__inner__/esm/components/ButtonNext/types.d.ts +2 -1
- package/__inner__/esm/components/DataList/types.d.ts +1 -1
- package/__inner__/esm/components/InputOTP/InputOTP.js +79 -76
- package/__inner__/esm/components/InputOTP/constants.d.ts +4 -4
- package/__inner__/esm/components/InputOTP/presets.d.ts +5 -0
- package/__inner__/esm/components/InputOTP/presets.js +5 -0
- package/__inner__/esm/components/InputOTP/types.d.ts +9 -6
- package/__inner__/esm/components/OzenProvider/providers/theme/entities/defaultProps.d.ts +6 -0
- package/__inner__/esm/components/Select/Select.css +10 -1
- package/__inner__/esm/components/Select/Select.d.ts +0 -1
- package/__inner__/esm/components/Select/Select.js +40 -10
- package/__inner__/esm/components/Select/SelectContext.d.ts +21 -0
- package/__inner__/esm/components/Select/SelectContext.js +25 -0
- package/__inner__/esm/components/Select/classNames.d.ts +1 -0
- package/__inner__/esm/components/Select/classNames.js +2 -0
- package/__inner__/esm/components/Select/components/SelectInput/SelectInput.js +7 -8
- package/__inner__/esm/components/Select/components/SelectInput/types.d.ts +0 -22
- package/__inner__/esm/components/Select/components/SelectInputContextConsumer/SelectInputContextConsumer.js +1 -1
- package/__inner__/esm/components/Select/components/SelectInputRenderRight/SelectInputRenderRight.d.ts +2 -0
- package/__inner__/esm/components/Select/components/SelectInputRenderRight/SelectInputRenderRight.js +38 -0
- package/__inner__/esm/components/Select/components/SelectInputRenderRight/index.d.ts +1 -0
- package/__inner__/esm/components/Select/components/SelectInputRenderRight/index.js +1 -0
- package/__inner__/esm/components/Select/components/index.d.ts +1 -0
- package/__inner__/esm/components/Select/components/index.js +1 -0
- package/__inner__/esm/components/Select/constants.d.ts +3 -0
- package/__inner__/esm/components/Select/constants.js +7 -0
- package/__inner__/esm/components/Select/entities/index.d.ts +2 -0
- package/__inner__/esm/components/Select/entities/index.js +2 -0
- package/__inner__/esm/components/Select/entities/onClear.d.ts +2 -0
- package/__inner__/esm/components/Select/entities/onClear.js +1 -0
- package/__inner__/esm/components/Select/entities/render.d.ts +6 -0
- package/__inner__/esm/components/Select/entities/render.js +1 -0
- package/__inner__/esm/components/Select/index.d.ts +1 -0
- package/__inner__/esm/components/Select/index.js +1 -0
- package/__inner__/esm/components/Select/types.d.ts +30 -5
- package/__inner__/esm/components/Select/types.js +2 -1
- package/__inner__/esm/components/StepperVertical/StepperVertical.css +4 -0
- package/__inner__/esm/components/StepperVertical/StepperVertical.d.ts +7 -0
- package/__inner__/esm/components/StepperVertical/StepperVertical.js +18 -0
- package/__inner__/esm/components/StepperVertical/StepperVerticalContext.d.ts +6 -0
- package/__inner__/esm/components/StepperVertical/StepperVerticalContext.js +14 -0
- package/__inner__/esm/components/StepperVertical/constants.d.ts +3 -0
- package/__inner__/esm/components/StepperVertical/constants.js +3 -0
- package/__inner__/esm/components/StepperVertical/index.d.ts +5 -0
- package/__inner__/esm/components/StepperVertical/index.js +5 -0
- package/__inner__/esm/components/StepperVertical/modules/StepperVerticalIconIndicator/StepperVerticalIconIndicator.css +4 -0
- package/__inner__/esm/components/StepperVertical/modules/StepperVerticalIconIndicator/StepperVerticalIconIndicator.d.ts +3 -0
- package/__inner__/esm/components/StepperVertical/modules/StepperVerticalIconIndicator/StepperVerticalIconIndicator.js +21 -0
- package/__inner__/esm/components/StepperVertical/modules/StepperVerticalIconIndicator/constants.d.ts +3 -0
- package/__inner__/esm/components/StepperVertical/modules/StepperVerticalIconIndicator/constants.js +9 -0
- package/__inner__/esm/components/StepperVertical/modules/StepperVerticalIconIndicator/entities/icon.d.ts +3 -0
- package/__inner__/esm/components/StepperVertical/modules/StepperVerticalIconIndicator/entities/icon.js +1 -0
- package/__inner__/esm/components/StepperVertical/modules/StepperVerticalIconIndicator/entities/index.d.ts +1 -0
- package/__inner__/esm/components/StepperVertical/modules/StepperVerticalIconIndicator/entities/index.js +1 -0
- package/__inner__/esm/components/StepperVertical/modules/StepperVerticalIconIndicator/index.d.ts +4 -0
- package/__inner__/esm/components/StepperVertical/modules/StepperVerticalIconIndicator/index.js +4 -0
- package/__inner__/esm/components/StepperVertical/modules/StepperVerticalIconIndicator/types.d.ts +7 -0
- package/__inner__/esm/components/StepperVertical/modules/StepperVerticalIconIndicator/types.js +1 -0
- package/__inner__/esm/components/StepperVertical/modules/StepperVerticalIndicator/StepperVerticalIndicator.css +20 -0
- package/__inner__/esm/components/StepperVertical/modules/StepperVerticalIndicator/StepperVerticalIndicator.d.ts +3 -0
- package/__inner__/esm/components/StepperVertical/modules/StepperVerticalIndicator/StepperVerticalIndicator.js +20 -0
- package/__inner__/esm/components/StepperVertical/modules/StepperVerticalIndicator/constants.d.ts +1 -0
- package/__inner__/esm/components/StepperVertical/modules/StepperVerticalIndicator/constants.js +1 -0
- package/__inner__/esm/components/StepperVertical/modules/StepperVerticalIndicator/index.d.ts +3 -0
- package/__inner__/esm/components/StepperVertical/modules/StepperVerticalIndicator/index.js +3 -0
- package/__inner__/esm/components/StepperVertical/modules/StepperVerticalIndicator/types.d.ts +11 -0
- package/__inner__/esm/components/StepperVertical/modules/StepperVerticalIndicator/types.js +1 -0
- package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStep/StepperVerticalStep.css +105 -0
- package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStep/StepperVerticalStep.d.ts +3 -0
- package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStep/StepperVerticalStep.js +38 -0
- package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStep/StepperVerticalStepContext.d.ts +8 -0
- package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStep/StepperVerticalStepContext.js +15 -0
- package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStep/constants.d.ts +3 -0
- package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStep/constants.js +3 -0
- package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStep/entities/index.d.ts +1 -0
- package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStep/entities/index.js +1 -0
- package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStep/entities/variant.d.ts +2 -0
- package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStep/entities/variant.js +8 -0
- package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStep/index.d.ts +5 -0
- package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStep/index.js +5 -0
- package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStep/types.d.ts +26 -0
- package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStep/types.js +1 -0
- package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStepButton/StepperVerticalStepButton.d.ts +3 -0
- package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStepButton/StepperVerticalStepButton.js +16 -0
- package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStepButton/constants.d.ts +3 -0
- package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStepButton/constants.js +5 -0
- package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStepButton/index.d.ts +3 -0
- package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStepButton/index.js +3 -0
- package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStepButton/types.d.ts +7 -0
- package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStepButton/types.js +1 -0
- package/__inner__/esm/components/StepperVertical/modules/index.d.ts +4 -0
- package/__inner__/esm/components/StepperVertical/modules/index.js +4 -0
- package/__inner__/esm/components/StepperVertical/types.d.ts +13 -0
- package/__inner__/esm/components/StepperVertical/types.js +1 -0
- package/__inner__/esm/hooks/useLockBodyScroll/useLockBodyScroll.js +25 -5
- package/__inner__/esm/locale/locale.js +9 -0
- package/__inner__/esm/utils/array/generatePermutations/generatePermutations.d.ts +1 -0
- package/__inner__/esm/utils/array/generatePermutations/generatePermutations.js +43 -0
- package/__inner__/esm/utils/array/generatePermutations/index.d.ts +1 -0
- package/__inner__/esm/utils/array/generatePermutations/index.js +1 -0
- package/__inner__/esm/utils/array/index.d.ts +1 -0
- package/__inner__/esm/utils/array/index.js +1 -0
- package/package.json +4 -4
|
@@ -9,7 +9,7 @@ export declare function withDefaultGetters<OPTION>(props: AutocompleteProps<OPTI
|
|
|
9
9
|
defaultValue?: import("./types").AutocompletePropValue<OPTION>;
|
|
10
10
|
open?: boolean;
|
|
11
11
|
defaultOpen?: boolean;
|
|
12
|
-
onChange?: ((e: import("react").SyntheticEvent | KeyboardEvent, value: OPTION | null) => void) | undefined;
|
|
12
|
+
onChange?: ((e: import("react").SyntheticEvent | KeyboardEvent | MouseEvent, value: OPTION | null) => void) | undefined;
|
|
13
13
|
inputValue?: string;
|
|
14
14
|
onInputChange?: (e: import("react").ChangeEvent<HTMLInputElement> | null, value: string) => void;
|
|
15
15
|
renderInput?: import("./types").AutocompleteRenderInput;
|
|
@@ -38,16 +38,16 @@ export declare function withDefaultGetters<OPTION>(props: AutocompleteProps<OPTI
|
|
|
38
38
|
label?: string | undefined;
|
|
39
39
|
style?: import("react").CSSProperties | undefined;
|
|
40
40
|
autoFocus?: boolean | undefined;
|
|
41
|
-
className?: string | undefined;
|
|
41
|
+
className?: string | undefined | undefined;
|
|
42
42
|
onKeyDown?: import("react").KeyboardEventHandler<HTMLDivElement> | undefined;
|
|
43
43
|
disabled?: boolean | undefined;
|
|
44
44
|
placeholder?: string | undefined;
|
|
45
45
|
required?: boolean | undefined;
|
|
46
46
|
fullWidth?: boolean | undefined;
|
|
47
|
-
hint?: string | null | undefined;
|
|
47
|
+
hint?: string | null | undefined | undefined;
|
|
48
48
|
disableStroke?: boolean | undefined;
|
|
49
|
-
renderLeft?: import("
|
|
50
|
-
renderRight?: import("
|
|
49
|
+
renderLeft?: string | number | import("react").FC<import("@ozen-ui/icons").IconProps> | import("react").ReactElement<import("@ozen-ui/icons").IconProps, string | import("react").JSXElementConstructor<any>> | (() => import("react").ReactElement<import("@ozen-ui/icons").IconProps, string | import("react").JSXElementConstructor<any>>) | undefined;
|
|
50
|
+
renderRight?: string | number | import("react").FC<import("@ozen-ui/icons").IconProps> | import("react").ReactElement<import("@ozen-ui/icons").IconProps, string | import("react").JSXElementConstructor<any>> | (() => import("react").ReactElement<import("@ozen-ui/icons").IconProps, string | import("react").JSXElementConstructor<any>>) | undefined;
|
|
51
51
|
inputProps?: import("../FieldInput").FieldInputProps | undefined;
|
|
52
52
|
bodyProps?: import("react").ComponentPropsWithRef<"label"> | undefined;
|
|
53
53
|
hintProps?: Omit<import("../FieldHint").FieldHintProps, "children"> | undefined;
|
|
@@ -35,7 +35,7 @@ export type AutocompleteProps<OPTION = AutocompleteDefaultOption> = {
|
|
|
35
35
|
/** Состояние открытие по умолчанию (неконтролируемый компонент) */
|
|
36
36
|
defaultOpen?: boolean;
|
|
37
37
|
/** Функция обратного вызова, которая будет вызвана при выборе значения */
|
|
38
|
-
onChange?: (e: SyntheticEvent | KeyboardEvent, value: OPTION | null) => void;
|
|
38
|
+
onChange?: (e: SyntheticEvent | KeyboardEvent | MouseEvent, value: OPTION | null) => void;
|
|
39
39
|
/** Введённое значение в текстовом поле */
|
|
40
40
|
inputValue?: string;
|
|
41
41
|
/** Функция обратного вызова, которая будет вызвана при вводе значения с клавиатуры */
|
|
@@ -2,5 +2,6 @@ import './modules/AutocompleteBaseDropdown/AutocompleteBaseDropdown.css';
|
|
|
2
2
|
import './modules/AutocompleteBaseInput/AutocompleteBaseInput.css';
|
|
3
3
|
import './modules/AutocompleteBaseInputTag/AutocompleteBaseInputTag.css';
|
|
4
4
|
import React from 'react';
|
|
5
|
+
import { AUTOCOMPLETE_BASE_DEFAULT_MULTIPLE } from './constants';
|
|
5
6
|
import type { AutocompleteBaseProps } from './types';
|
|
6
|
-
export declare const AutocompleteBase: <Option, Multiple extends boolean =
|
|
7
|
+
export declare const AutocompleteBase: <Option, Multiple extends boolean = typeof AUTOCOMPLETE_BASE_DEFAULT_MULTIPLE>(inProps: AutocompleteBaseProps<Option, Multiple>) => React.JSX.Element;
|
|
@@ -44,16 +44,16 @@ export declare function withDefaultGetters<OPTION = AutocompleteDefaultOption, M
|
|
|
44
44
|
label?: string | undefined;
|
|
45
45
|
style?: import("react").CSSProperties | undefined;
|
|
46
46
|
autoFocus?: boolean | undefined;
|
|
47
|
-
className?: string | undefined;
|
|
47
|
+
className?: string | undefined | undefined;
|
|
48
48
|
onKeyDown?: import("react").KeyboardEventHandler<HTMLDivElement> | undefined;
|
|
49
49
|
disabled?: boolean | undefined;
|
|
50
50
|
placeholder?: string | undefined;
|
|
51
51
|
required?: boolean | undefined;
|
|
52
52
|
fullWidth?: boolean | undefined;
|
|
53
|
-
hint?: string | null | undefined;
|
|
53
|
+
hint?: string | null | undefined | undefined;
|
|
54
54
|
disableStroke?: boolean | undefined;
|
|
55
|
-
renderLeft?: import("
|
|
56
|
-
renderRight?: import("
|
|
55
|
+
renderLeft?: string | number | import("react").FC<import("@ozen-ui/icons").IconProps> | import("react").ReactElement<import("@ozen-ui/icons").IconProps, string | import("react").JSXElementConstructor<any>> | (() => import("react").ReactElement<import("@ozen-ui/icons").IconProps, string | import("react").JSXElementConstructor<any>>) | undefined;
|
|
56
|
+
renderRight?: string | number | import("react").FC<import("@ozen-ui/icons").IconProps> | import("react").ReactElement<import("@ozen-ui/icons").IconProps, string | import("react").JSXElementConstructor<any>> | (() => import("react").ReactElement<import("@ozen-ui/icons").IconProps, string | import("react").JSXElementConstructor<any>>) | undefined;
|
|
57
57
|
inputProps?: import("../FieldInput").FieldInputProps | undefined;
|
|
58
58
|
bodyProps?: import("react").ComponentPropsWithRef<"label"> | undefined;
|
|
59
59
|
hintProps?: Omit<import("../FieldHint").FieldHintProps, "children"> | undefined;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ComponentPropsWithRef, ElementType, ReactNode } from 'react';
|
|
1
|
+
import type { ComponentPropsWithRef, ComponentRef, ElementType, ReactNode } from 'react';
|
|
2
2
|
import type { IconProps } from '@ozen-ui/icons';
|
|
3
3
|
import type { FormElementSizeVariant } from '../../types/FormElementSizeVariant';
|
|
4
4
|
import type { PolymorphicComponentPropsWithoutRef } from '../../utils/polymorphicComponentWithRef';
|
|
@@ -46,3 +46,4 @@ export type ButtonBaseProps = {
|
|
|
46
46
|
'data-testid'?: string;
|
|
47
47
|
};
|
|
48
48
|
export type ButtonProps<As extends ElementType = typeof BUTTON_DEFAULT_TAG> = PolymorphicComponentPropsWithoutRef<ButtonBaseProps, As>;
|
|
49
|
+
export type ButtonRef<As extends ElementType = typeof BUTTON_DEFAULT_TAG> = ComponentRef<As>;
|
|
@@ -12,7 +12,7 @@ export type DataListPayload<MULTIPLE extends boolean> = {
|
|
|
12
12
|
name?: string;
|
|
13
13
|
value: DataListSelected<MULTIPLE>;
|
|
14
14
|
};
|
|
15
|
-
export type DataListOnSelect<MULTIPLE extends boolean> = (event: SyntheticEvent | KeyboardEvent, payload: DataListPayload<MULTIPLE>) => void;
|
|
15
|
+
export type DataListOnSelect<MULTIPLE extends boolean> = (event: SyntheticEvent | KeyboardEvent | MouseEvent, payload: DataListPayload<MULTIPLE>) => void;
|
|
16
16
|
export type DataListBaseProps<MULTIPLE extends boolean = false> = {
|
|
17
17
|
/** Имя списка */
|
|
18
18
|
name?: string;
|
|
@@ -14,6 +14,7 @@ var isString_1 = require("../../utils/isString");
|
|
|
14
14
|
var polymorphicComponentWithRef_1 = require("../../utils/polymorphicComponentWithRef");
|
|
15
15
|
var setRef_1 = require("../../utils/setRef");
|
|
16
16
|
var FieldControl_1 = require("../FieldControl");
|
|
17
|
+
var FieldHint_1 = require("../FieldHint");
|
|
17
18
|
var FieldInput_1 = require("../FieldInput");
|
|
18
19
|
var Fieldset_1 = require("../Fieldset");
|
|
19
20
|
var Stack_1 = require("../Stack");
|
|
@@ -26,7 +27,7 @@ exports.InputOTP = (0, polymorphicComponentWithRef_1.polymorphicComponentWithRef
|
|
|
26
27
|
props: inProps,
|
|
27
28
|
name: 'InputOTP',
|
|
28
29
|
});
|
|
29
|
-
var _a = props.as, as = _a === void 0 ? constants_1.INPUT_OTP_DEFAULT_TAG : _a, className = props.className, length = props.length, autoComplete = props.autoComplete, _b = props.autoCompleteMode, autoCompleteMode = _b === void 0 ? constants_1.INPUT_OTP_DEFAULT_AUTO_COMPLETE_MODE : _b, placeholder = props.placeholder, disabled = props.disabled, error = props.error, onChangeFromProps = props.onChange, ariaLabel = props.ariaLabel, value = props.value, defaultValue = props.defaultValue, mask = props.mask, autoFocus = props.autoFocus, onFinish = props.onFinish, onPasteFromProps = props.onPaste, onKeyDownFromProps = props.onKeyDown, _c = props.disableStroke, disableStroke = _c === void 0 ? constants_1.INPUT_OTP_DEFAULT_DISABLE_STROKE : _c, validate = props.validate, _d = props.size, size = _d === void 0 ? constants_1.INPUT_OTP_DEFAULT_SIZE : _d, inputProps = props.inputProps, fieldProps = props.fieldProps, _e = props.finishBehavior, finishBehavior = _e === void 0 ? constants_1.INPUT_OTP_DEFAULT_FINISH_BEHAVIOR : _e, inputContainerProps = props.inputContainerProps, other = tslib_1.__rest(props, ["as", "className", "length", "autoComplete", "autoCompleteMode", "placeholder", "disabled", "error", "onChange", "ariaLabel", "value", "defaultValue", "mask", "autoFocus", "onFinish", "onPaste", "onKeyDown", "disableStroke", "validate", "size", "inputProps", "fieldProps", "finishBehavior", "inputContainerProps"]);
|
|
30
|
+
var _a = props.as, as = _a === void 0 ? constants_1.INPUT_OTP_DEFAULT_TAG : _a, className = props.className, length = props.length, autoComplete = props.autoComplete, _b = props.autoCompleteMode, autoCompleteMode = _b === void 0 ? constants_1.INPUT_OTP_DEFAULT_AUTO_COMPLETE_MODE : _b, placeholder = props.placeholder, disabled = props.disabled, error = props.error, onChangeFromProps = props.onChange, ariaLabel = props.ariaLabel, value = props.value, defaultValue = props.defaultValue, mask = props.mask, autoFocus = props.autoFocus, onFinish = props.onFinish, onPasteFromProps = props.onPaste, onKeyDownFromProps = props.onKeyDown, _c = props.disableStroke, disableStroke = _c === void 0 ? constants_1.INPUT_OTP_DEFAULT_DISABLE_STROKE : _c, validate = props.validate, _d = props.size, size = _d === void 0 ? constants_1.INPUT_OTP_DEFAULT_SIZE : _d, inputProps = props.inputProps, fieldProps = props.fieldProps, _e = props.finishBehavior, finishBehavior = _e === void 0 ? constants_1.INPUT_OTP_DEFAULT_FINISH_BEHAVIOR : _e, inputContainerProps = props.inputContainerProps, hint = props.hint, other = tslib_1.__rest(props, ["as", "className", "length", "autoComplete", "autoCompleteMode", "placeholder", "disabled", "error", "onChange", "ariaLabel", "value", "defaultValue", "mask", "autoFocus", "onFinish", "onPaste", "onKeyDown", "disableStroke", "validate", "size", "inputProps", "fieldProps", "finishBehavior", "inputContainerProps", "hint"]);
|
|
30
31
|
var _f = tslib_1.__read((0, react_1.useState)(null), 2), focusedInputIndex = _f[0], setFocusedInputIndex = _f[1];
|
|
31
32
|
var _g = tslib_1.__read((0, useControlled_1.useControlled)({
|
|
32
33
|
value: (0, isString_1.isString)(value) ? (0, helper_1.valueToArray)(value) : value,
|
|
@@ -100,81 +101,83 @@ exports.InputOTP = (0, polymorphicComponentWithRef_1.polymorphicComponentWithRef
|
|
|
100
101
|
return (react_1.default.createElement(Stack_1.Stack, tslib_1.__assign({ as: as, className: (0, exports.cnInputOTP)({
|
|
101
102
|
size: size,
|
|
102
103
|
disabled: disabled,
|
|
103
|
-
}, [className]),
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
return autoComplete;
|
|
112
|
-
})();
|
|
113
|
-
var processedContainerProps = (0, isFunction_1.isFunction)(inputContainerProps)
|
|
114
|
-
? inputContainerProps(calculatedInput, index)
|
|
115
|
-
: inputContainerProps;
|
|
116
|
-
var processedFieldProps = (0, isFunction_1.isFunction)(fieldProps)
|
|
117
|
-
? fieldProps(calculatedInput, index)
|
|
118
|
-
: fieldProps;
|
|
119
|
-
var processedInputProps = (0, isFunction_1.isFunction)(inputProps)
|
|
120
|
-
? inputProps(calculatedInput, index)
|
|
121
|
-
: inputProps;
|
|
122
|
-
var processedPlaceholder = (0, isFunction_1.isFunction)(placeholder)
|
|
123
|
-
? placeholder(calculatedInput, index)
|
|
124
|
-
: placeholder;
|
|
125
|
-
return (
|
|
126
|
-
// eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions
|
|
127
|
-
react_1.default.createElement("div", tslib_1.__assign({ key: index }, processedContainerProps, { className: (0, exports.cnInputOTP)('InputContainer', [
|
|
128
|
-
processedContainerProps === null || processedContainerProps === void 0 ? void 0 : processedContainerProps.className,
|
|
129
|
-
]), onClick: function () {
|
|
130
|
-
if (isInputDisabled) {
|
|
131
|
-
focusFirstNonFilledInput();
|
|
104
|
+
}, [className]), direction: "column" }, other, { ref: ref }),
|
|
105
|
+
react_1.default.createElement(Stack_1.Stack, { className: (0, exports.cnInputOTP)('Inputs'), gap: constants_1.INPUT_OTP_SPACING_BY_SIZE[size] }, (0, array_1.createEmptyArray)(length).map(function (_, index) {
|
|
106
|
+
var _a, _b;
|
|
107
|
+
var calculatedInput = calculateInput(valueByIndex, index);
|
|
108
|
+
var isInputDisabled = calculatedInput.isDisabled, value = calculatedInput.value;
|
|
109
|
+
var processedAutocomplete = (function () {
|
|
110
|
+
if (autoCompleteMode === 'firstOnly') {
|
|
111
|
+
return !!autoComplete && index === 0 ? autoComplete : 'off';
|
|
132
112
|
}
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
113
|
+
return autoComplete;
|
|
114
|
+
})();
|
|
115
|
+
var processedContainerProps = (0, isFunction_1.isFunction)(inputContainerProps)
|
|
116
|
+
? inputContainerProps(calculatedInput, index)
|
|
117
|
+
: inputContainerProps;
|
|
118
|
+
var processedFieldProps = (0, isFunction_1.isFunction)(fieldProps)
|
|
119
|
+
? fieldProps(calculatedInput, index)
|
|
120
|
+
: fieldProps;
|
|
121
|
+
var processedInputProps = (0, isFunction_1.isFunction)(inputProps)
|
|
122
|
+
? inputProps(calculatedInput, index)
|
|
123
|
+
: inputProps;
|
|
124
|
+
var processedPlaceholder = (0, isFunction_1.isFunction)(placeholder)
|
|
125
|
+
? placeholder(calculatedInput, index)
|
|
126
|
+
: placeholder;
|
|
127
|
+
return (
|
|
128
|
+
// eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions
|
|
129
|
+
react_1.default.createElement("div", tslib_1.__assign({ key: index }, processedContainerProps, { className: (0, exports.cnInputOTP)('InputContainer', [
|
|
130
|
+
processedContainerProps === null || processedContainerProps === void 0 ? void 0 : processedContainerProps.className,
|
|
131
|
+
]), onClick: function () {
|
|
132
|
+
if (isInputDisabled) {
|
|
133
|
+
focusFirstNonFilledInput();
|
|
134
|
+
}
|
|
135
|
+
} }),
|
|
136
|
+
react_1.default.createElement(FieldControl_1.FieldControl, tslib_1.__assign({ size: size, disabled: disabled, error: error, disableStroke: disableStroke }, processedFieldProps, { className: (0, exports.cnInputOTP)('Field', {
|
|
137
|
+
notAvailable: isInputDisabled,
|
|
138
|
+
}, [processedFieldProps === null || processedFieldProps === void 0 ? void 0 : processedFieldProps.className]) }),
|
|
139
|
+
react_1.default.createElement(FieldInput_1.FieldInput, tslib_1.__assign({ inputMode: (_a = processedInputProps === null || processedInputProps === void 0 ? void 0 : processedInputProps.inputMode) !== null && _a !== void 0 ? _a : 'numeric', type: (_b = processedInputProps === null || processedInputProps === void 0 ? void 0 : processedInputProps.type) !== null && _b !== void 0 ? _b : 'text', value: value, autoComplete: processedAutocomplete, "aria-label": ariaLabel && "".concat(ariaLabel, ": ").concat(index + 1, "."), placeholder: processedPlaceholder, disabled: isInputDisabled }, processedInputProps, { onMouseDown: function (event) {
|
|
140
|
+
var _a;
|
|
141
|
+
(_a = processedInputProps === null || processedInputProps === void 0 ? void 0 : processedInputProps.onMouseDown) === null || _a === void 0 ? void 0 : _a.call(processedInputProps, event);
|
|
142
|
+
onInputSelect(index);
|
|
143
|
+
}, onTouchStart: function (event) {
|
|
144
|
+
var _a;
|
|
145
|
+
(_a = processedInputProps === null || processedInputProps === void 0 ? void 0 : processedInputProps.onTouchStart) === null || _a === void 0 ? void 0 : _a.call(processedInputProps, event);
|
|
146
|
+
onInputSelect(index);
|
|
147
|
+
}, onPointerDown: function (event) {
|
|
148
|
+
var _a;
|
|
149
|
+
(_a = processedInputProps === null || processedInputProps === void 0 ? void 0 : processedInputProps.onPointerDown) === null || _a === void 0 ? void 0 : _a.call(processedInputProps, event);
|
|
150
|
+
onInputSelect(index);
|
|
151
|
+
}, onChange: function (event) {
|
|
152
|
+
var _a;
|
|
153
|
+
(_a = processedInputProps === null || processedInputProps === void 0 ? void 0 : processedInputProps.onChange) === null || _a === void 0 ? void 0 : _a.call(processedInputProps, event);
|
|
154
|
+
onInputChange(event, index);
|
|
155
|
+
}, onKeyDown: function (event) {
|
|
156
|
+
var _a;
|
|
157
|
+
(_a = processedInputProps === null || processedInputProps === void 0 ? void 0 : processedInputProps.onKeyDown) === null || _a === void 0 ? void 0 : _a.call(processedInputProps, event);
|
|
158
|
+
onKeyDown(event, index);
|
|
159
|
+
}, onPaste: function (event) {
|
|
160
|
+
var _a;
|
|
161
|
+
(_a = processedInputProps === null || processedInputProps === void 0 ? void 0 : processedInputProps.onPaste) === null || _a === void 0 ? void 0 : _a.call(processedInputProps, event);
|
|
162
|
+
onPaste(event, index);
|
|
163
|
+
}, onFocus: function (event) {
|
|
164
|
+
var _a;
|
|
165
|
+
(_a = processedInputProps === null || processedInputProps === void 0 ? void 0 : processedInputProps.onFocus) === null || _a === void 0 ? void 0 : _a.call(processedInputProps, event);
|
|
166
|
+
setFocusedInputIndex(index);
|
|
167
|
+
}, onBlur: function (event) {
|
|
168
|
+
var _a;
|
|
169
|
+
(_a = processedInputProps === null || processedInputProps === void 0 ? void 0 : processedInputProps.onBlur) === null || _a === void 0 ? void 0 : _a.call(processedInputProps, event);
|
|
170
|
+
setFocusedInputIndex(null);
|
|
171
|
+
}, className: (0, exports.cnInputOTP)('Input', [
|
|
172
|
+
processedInputProps === null || processedInputProps === void 0 ? void 0 : processedInputProps.className,
|
|
173
|
+
]), ref: function (instance) {
|
|
174
|
+
if (instance) {
|
|
175
|
+
inputs.current[index] = instance;
|
|
176
|
+
}
|
|
177
|
+
(0, setRef_1.setRef)(processedInputProps === null || processedInputProps === void 0 ? void 0 : processedInputProps.ref, instance);
|
|
178
|
+
} })),
|
|
179
|
+
react_1.default.createElement(Fieldset_1.Fieldset, null))));
|
|
180
|
+
})),
|
|
181
|
+
react_1.default.createElement(FieldHint_1.FieldHint, { className: (0, exports.cnInputOTP)('Hint'), size: "l", disabled: disabled, error: error }, hint)));
|
|
179
182
|
});
|
|
180
183
|
exports.InputOTP.displayName = 'InputOTP';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { StackGapVariant } from '../Stack';
|
|
2
|
-
import type {
|
|
2
|
+
import type { InputOTPSizeVariant } from './types';
|
|
3
3
|
export declare const INPUT_OTP_DEFAULT_TAG = "div";
|
|
4
|
-
export declare const INPUT_OTP_DEFAULT_AUTO_COMPLETE_MODE
|
|
5
|
-
export declare const INPUT_OTP_DEFAULT_DISABLE_STROKE
|
|
6
|
-
export declare const INPUT_OTP_DEFAULT_SIZE
|
|
4
|
+
export declare const INPUT_OTP_DEFAULT_AUTO_COMPLETE_MODE = "firstOnly";
|
|
5
|
+
export declare const INPUT_OTP_DEFAULT_DISABLE_STROKE = false;
|
|
6
|
+
export declare const INPUT_OTP_DEFAULT_SIZE = "s";
|
|
7
7
|
export declare const INPUT_OTP_SPACING_BY_SIZE: Readonly<Record<InputOTPSizeVariant, StackGapVariant>>;
|
|
8
8
|
export declare const INPUT_OTP_DEFAULT_FINISH_BEHAVIOR: ({ isFullFilled }: import("./types").InputOTPFinishBehaviorContext) => boolean;
|
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
export declare const INPUT_OTP_VALIDATE_PRESET: {
|
|
2
|
+
/** Только текст */
|
|
2
3
|
TEXT: (value: string) => boolean;
|
|
4
|
+
/** Только числа */
|
|
3
5
|
NUMERIC: (value: string) => boolean;
|
|
6
|
+
/** Текст и числа */
|
|
4
7
|
TEXT_NUMERIC: (value: string) => boolean;
|
|
5
8
|
};
|
|
6
9
|
export declare const INPUT_OTP_MASK_PRESET: {
|
|
7
10
|
PASSWORD: string;
|
|
8
11
|
};
|
|
9
12
|
export declare const INPUT_OTP_FINISH_BEHAVIOR_PRESET: {
|
|
13
|
+
/** Реагирует на полный ввод на любом из input */
|
|
10
14
|
FULL_FILLED_NON_LAST_INPUT: ({ isFullFilled }: import("./types").InputOTPFinishBehaviorContext) => boolean;
|
|
15
|
+
/** Реагирует на полный ввод только на последнем input, либо на нажатие на Enter при полном заполнении */
|
|
11
16
|
FULL_FILLED_ON_LAST_INPUT: ({ isFullFilled, isChangeOnLastInput, isEnter, }: import("./types").InputOTPFinishBehaviorContext) => boolean;
|
|
12
17
|
};
|
|
@@ -2,18 +2,23 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.INPUT_OTP_FINISH_BEHAVIOR_PRESET = exports.INPUT_OTP_MASK_PRESET = exports.INPUT_OTP_VALIDATE_PRESET = void 0;
|
|
4
4
|
exports.INPUT_OTP_VALIDATE_PRESET = {
|
|
5
|
+
/** Только текст */
|
|
5
6
|
TEXT: function (value) { return /[a-zA-Z]{1}/.test(value); },
|
|
7
|
+
/** Только числа */
|
|
6
8
|
NUMERIC: function (value) { return /\d{1}/.test(value); },
|
|
9
|
+
/** Текст и числа */
|
|
7
10
|
TEXT_NUMERIC: function (value) { return /[a-zA-Z0-9]{1}/.test(value); },
|
|
8
11
|
};
|
|
9
12
|
exports.INPUT_OTP_MASK_PRESET = {
|
|
10
13
|
PASSWORD: '•',
|
|
11
14
|
};
|
|
12
15
|
exports.INPUT_OTP_FINISH_BEHAVIOR_PRESET = {
|
|
16
|
+
/** Реагирует на полный ввод на любом из input */
|
|
13
17
|
FULL_FILLED_NON_LAST_INPUT: function (_a) {
|
|
14
18
|
var isFullFilled = _a.isFullFilled;
|
|
15
19
|
return isFullFilled;
|
|
16
20
|
},
|
|
21
|
+
/** Реагирует на полный ввод только на последнем input, либо на нажатие на Enter при полном заполнении */
|
|
17
22
|
FULL_FILLED_ON_LAST_INPUT: function (_a) {
|
|
18
23
|
var isFullFilled = _a.isFullFilled, isChangeOnLastInput = _a.isChangeOnLastInput, isEnter = _a.isEnter;
|
|
19
24
|
if (isFullFilled && isChangeOnLastInput) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ComponentPropsWithRef, ElementType } from 'react';
|
|
1
|
+
import type { ComponentPropsWithRef, ComponentRef, ElementType, ReactNode } from 'react';
|
|
2
2
|
import type { PolymorphicComponentPropsWithRef } from '../../utils/polymorphicComponentWithRef';
|
|
3
3
|
import type { FIELD_CONTROL_DEFAULT_TAG, FieldControlBaseProps } from '../FieldControl';
|
|
4
4
|
import type { FieldInputProps } from '../FieldInput';
|
|
@@ -38,15 +38,15 @@ export type InputOTPFinishBehaviorContext = {
|
|
|
38
38
|
value: string;
|
|
39
39
|
/** Необработанное значение */
|
|
40
40
|
rawValue: InputOTPRawValue;
|
|
41
|
-
/** Значение с маской */
|
|
41
|
+
/** Значение с примененной маской */
|
|
42
42
|
maskedValue: string;
|
|
43
|
-
/** Необработанное значение с маской */
|
|
43
|
+
/** Необработанное значение с примененной маской */
|
|
44
44
|
maskedRawValue: InputOTPRawValue;
|
|
45
|
-
/**
|
|
45
|
+
/** Если `true` — это изменение на последнем input */
|
|
46
46
|
isChangeOnLastInput: boolean;
|
|
47
|
-
/** index input
|
|
47
|
+
/** index input, на котором произошло изменение */
|
|
48
48
|
inputIndex: number;
|
|
49
|
-
/**
|
|
49
|
+
/** Если `true` — это нажатие Enter */
|
|
50
50
|
isEnter: boolean;
|
|
51
51
|
};
|
|
52
52
|
export type InputOTPFinishBehavior = (context: InputOTPFinishBehaviorContext) => boolean;
|
|
@@ -87,6 +87,8 @@ export type InputOTPBaseProps = {
|
|
|
87
87
|
placeholder?: InputOTPDynamicInputParameter<string>;
|
|
88
88
|
/** Свойства Field */
|
|
89
89
|
fieldProps?: InputOTPDynamicInputParameter<PolymorphicComponentPropsWithRef<FieldControlBaseProps, typeof FIELD_CONTROL_DEFAULT_TAG>>;
|
|
90
|
+
/** Дополнительное описание к полю */
|
|
91
|
+
hint?: ReactNode;
|
|
90
92
|
/** Свойства Input */
|
|
91
93
|
inputProps?: InputOTPDynamicInputParameter<FieldInputProps>;
|
|
92
94
|
/** Свойства InputContainer */
|
|
@@ -99,3 +101,4 @@ export type InputOTPBaseProps = {
|
|
|
99
101
|
'data-testid'?: string;
|
|
100
102
|
};
|
|
101
103
|
export type InputOTPProps<As extends ElementType = typeof INPUT_OTP_DEFAULT_TAG> = PolymorphicComponentPropsWithRef<InputOTPBaseProps, As>;
|
|
104
|
+
export type InputOTPRef<As extends ElementType = typeof INPUT_OTP_DEFAULT_TAG> = ComponentRef<As>;
|
|
@@ -66,6 +66,7 @@ import type { SelectProps } from '../../../../Select';
|
|
|
66
66
|
import type { SliderProps } from '../../../../Slider';
|
|
67
67
|
import type { SnackbarProviderProps } from '../../../../Snackbar';
|
|
68
68
|
import type { StackProps } from '../../../../Stack';
|
|
69
|
+
import type { StepperVerticalProps, StepperVerticalStepButtonProps, StepperVerticalStepProps, StepperVerticalIndicatorProps, StepperVerticalIconIndicatorProps } from '../../../../StepperVertical';
|
|
69
70
|
import type { TableContainerProps, TableProps, TableCaptionProps, TableCellProps } from '../../../../Table';
|
|
70
71
|
import type { TagProps } from '../../../../Tag';
|
|
71
72
|
import type { TagProps as TagPropsNext } from '../../../../TagNext';
|
|
@@ -188,6 +189,11 @@ export type ThemeDefaultProps = {
|
|
|
188
189
|
Slider?: Partial<SliderProps>;
|
|
189
190
|
SnackbarProvider?: Partial<SnackbarProviderProps>;
|
|
190
191
|
Stack?: Partial<StackProps>;
|
|
192
|
+
StepperVertical?: Partial<StepperVerticalProps>;
|
|
193
|
+
StepperVerticalStep?: Partial<StepperVerticalStepProps>;
|
|
194
|
+
StepperVerticalStepButton?: Partial<StepperVerticalStepButtonProps>;
|
|
195
|
+
StepperVerticalIconIndicator?: Partial<StepperVerticalIconIndicatorProps>;
|
|
196
|
+
StepperVerticalIndicator?: Partial<StepperVerticalIndicatorProps>;
|
|
191
197
|
Table?: Partial<TableProps>;
|
|
192
198
|
TableCaption?: Partial<TableCaptionProps>;
|
|
193
199
|
TableCell?: Partial<TableCellProps>;
|
|
@@ -79,10 +79,19 @@
|
|
|
79
79
|
}
|
|
80
80
|
|
|
81
81
|
.Select-RenderLeft,
|
|
82
|
-
.Select-
|
|
82
|
+
.Select-RenderRight_nonInteractive {
|
|
83
83
|
pointer-events: none;
|
|
84
84
|
}
|
|
85
85
|
|
|
86
|
+
.Select-ClearIcon {
|
|
87
|
+
visibility: hidden;
|
|
88
|
+
transition: visibility var(--transition-default);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.Select-ClearIcon_visibility {
|
|
92
|
+
visibility: visible;
|
|
93
|
+
}
|
|
94
|
+
|
|
86
95
|
.Select-DropDownIcon {
|
|
87
96
|
display: flex;
|
|
88
97
|
align-items: center;
|
|
@@ -1,42 +1,49 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Select =
|
|
3
|
+
exports.Select = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
require("./Select.css");
|
|
6
6
|
var react_1 = tslib_1.__importStar(require("react"));
|
|
7
|
+
var logger_1 = require("@ozen-ui/logger");
|
|
7
8
|
var react_is_1 = require("react-is");
|
|
8
9
|
var useControlled_1 = require("../../hooks/useControlled");
|
|
10
|
+
var useDevEffect_1 = require("../../hooks/useDevEffect");
|
|
9
11
|
var useMultiRef_1 = require("../../hooks/useMultiRef");
|
|
10
12
|
var useThemeProps_1 = require("../../hooks/useThemeProps");
|
|
11
|
-
var
|
|
13
|
+
var utils_1 = require("../../utils");
|
|
12
14
|
var isKeys_1 = require("../../utils/isKeys");
|
|
13
15
|
var isString_1 = require("../../utils/isString");
|
|
14
16
|
var DataList_1 = require("../DataList");
|
|
15
17
|
var components_1 = require("./components");
|
|
16
18
|
var constants_1 = require("./constants");
|
|
17
19
|
var helpers_1 = require("./helpers");
|
|
18
|
-
|
|
20
|
+
var SelectContext_1 = require("./SelectContext");
|
|
19
21
|
var SelectRender = function (inProps, ref) {
|
|
20
22
|
var props = (0, useThemeProps_1.useThemeProps)({
|
|
21
23
|
props: inProps,
|
|
22
24
|
name: 'Select',
|
|
23
25
|
});
|
|
24
|
-
var _a = props.size, size = _a === void 0 ? constants_1.SELECT_DEFAULT_SIZE : _a, _b = props.autoFocus, autoFocus = _b === void 0 ? constants_1.SELECT_DEFAULT_AUTO_FOCUS : _b, _c = props.fullWidth, fullWidth = _c === void 0 ? constants_1.SELECT_DEFAULT_FULL_WIDTH : _c, _d = props.disabled, disabled = _d === void 0 ? constants_1.SELECT_DEFAULT_DISABLED : _d, _e = props.required, required = _e === void 0 ? constants_1.SELECT_DEFAULT_REQUIRED : _e, _f = props.multiline, multiline = _f === void 0 ? constants_1.SELECT_DEFAULT_MULTILINE : _f, _g = props.defaultOpen, defaultOpen = _g === void 0 ? constants_1.SELECT_DEFAULT_DEFAULT_OPEN : _g, valueProp = props.value, defaultValue = props.defaultValue, onChange = props.onChange, renderValueProp = props.renderValue, children = props.children, onClick = props.onClick, onKeyDown = props.onKeyDown, menuProps = props.menuProps, dataListPropsProp = props.dataListProps, bodyProps = props.bodyProps, bodyRefProp = props.bodyRef, onCloseProp = props.onClose, onOpenProp = props.onOpen, openProp = props.open, multiple = props.multiple, other = tslib_1.__rest(props, ["size", "autoFocus", "fullWidth", "disabled", "required", "multiline", "defaultOpen", "value", "defaultValue", "onChange", "renderValue", "children", "onClick", "onKeyDown", "menuProps", "dataListProps", "bodyProps", "bodyRef", "onClose", "onOpen", "open", "multiple"]);
|
|
26
|
+
var _a = props.size, size = _a === void 0 ? constants_1.SELECT_DEFAULT_SIZE : _a, _b = props.autoFocus, autoFocus = _b === void 0 ? constants_1.SELECT_DEFAULT_AUTO_FOCUS : _b, _c = props.fullWidth, fullWidth = _c === void 0 ? constants_1.SELECT_DEFAULT_FULL_WIDTH : _c, _d = props.disabled, disabled = _d === void 0 ? constants_1.SELECT_DEFAULT_DISABLED : _d, _e = props.required, required = _e === void 0 ? constants_1.SELECT_DEFAULT_REQUIRED : _e, _f = props.multiline, multiline = _f === void 0 ? constants_1.SELECT_DEFAULT_MULTILINE : _f, _g = props.defaultOpen, defaultOpen = _g === void 0 ? constants_1.SELECT_DEFAULT_DEFAULT_OPEN : _g, _h = props.renderRightLayout, renderRightLayout = _h === void 0 ? constants_1.SELECT_DEFAULT_RENDER_RIGHT_LAYOUT : _h, valueProp = props.value, defaultValue = props.defaultValue, onChange = props.onChange, renderValueProp = props.renderValue, children = props.children, onClick = props.onClick, onKeyDown = props.onKeyDown, menuProps = props.menuProps, dataListPropsProp = props.dataListProps, bodyProps = props.bodyProps, bodyRefProp = props.bodyRef, onCloseProp = props.onClose, onOpenProp = props.onOpen, openProp = props.open, multiple = props.multiple, _j = props.showClearButton, showClearButton = _j === void 0 ? constants_1.SELECT_DEFAULT_SHOW_CLEAR_BUTTON : _j, renderLeft = props.renderLeft, renderRight = props.renderRight, onClearProp = props.onClear, clearText = props.clearText, _k = props.error, error = _k === void 0 ? constants_1.SELECT_DEFAULT_ERROR : _k, other = tslib_1.__rest(props, ["size", "autoFocus", "fullWidth", "disabled", "required", "multiline", "defaultOpen", "renderRightLayout", "value", "defaultValue", "onChange", "renderValue", "children", "onClick", "onKeyDown", "menuProps", "dataListProps", "bodyProps", "bodyRef", "onClose", "onOpen", "open", "multiple", "showClearButton", "renderLeft", "renderRight", "onClear", "clearText", "error"]);
|
|
27
|
+
(0, useDevEffect_1.useDevEffect)(function () {
|
|
28
|
+
if (renderRightLayout.length !== new Set(renderRightLayout).size) {
|
|
29
|
+
logger_1.logger.error("\u0412 renderRightLayout [".concat(renderRightLayout.map(function (element) { return "\"".concat(element, "\""); }).join(', '), "] \u0435\u0441\u0442\u044C \u0434\u0443\u0431\u043B\u0438\u0440\u0443\u044E\u0449\u0438\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B, \u043F\u0435\u0440\u0435\u043F\u0440\u043E\u0432\u0435\u0440\u044C\u0442\u0435 \u043F\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0435\u043C\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435."));
|
|
30
|
+
}
|
|
31
|
+
}, [renderRightLayout]);
|
|
25
32
|
var bodyInnerRef = (0, react_1.useRef)(null);
|
|
26
33
|
var bodyRef = (0, useMultiRef_1.useMultiRef)([(bodyProps === null || bodyProps === void 0 ? void 0 : bodyProps.ref) || bodyRefProp, bodyInnerRef]);
|
|
27
34
|
var dataListProps = dataListPropsProp || menuProps;
|
|
28
|
-
var
|
|
35
|
+
var _l = tslib_1.__read((0, useControlled_1.useControlled)({
|
|
29
36
|
value: valueProp,
|
|
30
37
|
defaultValue: defaultValue,
|
|
31
38
|
name: 'Select',
|
|
32
39
|
state: 'value',
|
|
33
|
-
}), 2), valueState =
|
|
34
|
-
var
|
|
40
|
+
}), 2), valueState = _l[0], setValueState = _l[1];
|
|
41
|
+
var _m = tslib_1.__read((0, useControlled_1.useControlled)({
|
|
35
42
|
value: openProp,
|
|
36
43
|
defaultValue: defaultOpen,
|
|
37
44
|
name: 'Select',
|
|
38
45
|
state: 'open',
|
|
39
|
-
}), 2), open =
|
|
46
|
+
}), 2), open = _m[0], setOpen = _m[1];
|
|
40
47
|
var currentLabel;
|
|
41
48
|
var isNotSelectOption = function (child) { return !(0, react_1.isValidElement)(child) || child.type !== DataList_1.DataListOption; };
|
|
42
49
|
var resolvedChildren = (0, react_is_1.isFragment)(children)
|
|
@@ -125,8 +132,16 @@ var SelectRender = function (inProps, ref) {
|
|
|
125
132
|
return (params === null || params === void 0 ? void 0 : params.value) || '';
|
|
126
133
|
return '';
|
|
127
134
|
};
|
|
135
|
+
var onClear = function (event) {
|
|
136
|
+
setValueState(undefined);
|
|
137
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(undefined, event);
|
|
138
|
+
onClearProp === null || onClearProp === void 0 ? void 0 : onClearProp(event);
|
|
139
|
+
};
|
|
128
140
|
/** Представление значение элемента контроля */
|
|
129
141
|
var renderValue = renderValueProp || renderDefaultValue;
|
|
142
|
+
var hasValue = (0, utils_1.isArray)(valueState)
|
|
143
|
+
? valueState.length > 0
|
|
144
|
+
: (0, utils_1.isNotNil)(valueState);
|
|
130
145
|
(0, react_1.useEffect)(function () {
|
|
131
146
|
var _a;
|
|
132
147
|
/** Устанавливает фокус на элементе контроля
|
|
@@ -141,8 +156,23 @@ var SelectRender = function (inProps, ref) {
|
|
|
141
156
|
if (autoFocus)
|
|
142
157
|
(_a = bodyInnerRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
143
158
|
}, [autoFocus]);
|
|
144
|
-
return (react_1.default.createElement(
|
|
145
|
-
|
|
159
|
+
return (react_1.default.createElement(SelectContext_1.SelectContext.Provider, { value: {
|
|
160
|
+
open: open !== null && open !== void 0 ? open : false,
|
|
161
|
+
hasValue: hasValue,
|
|
162
|
+
size: size,
|
|
163
|
+
disabled: disabled,
|
|
164
|
+
renderRightLayout: renderRightLayout,
|
|
165
|
+
showClearButton: showClearButton,
|
|
166
|
+
fullWidth: fullWidth,
|
|
167
|
+
required: required,
|
|
168
|
+
multiline: multiline,
|
|
169
|
+
onClear: onClear,
|
|
170
|
+
clearText: clearText !== null && clearText !== void 0 ? clearText : '',
|
|
171
|
+
renderRight: renderRight,
|
|
172
|
+
renderLeft: renderLeft,
|
|
173
|
+
error: error,
|
|
174
|
+
} },
|
|
175
|
+
react_1.default.createElement(components_1.SelectInput, tslib_1.__assign({}, other, { value: inputValue(), onClick: handleClick, onKeyDown: handleKeyDown, renderedValue: renderValue({
|
|
146
176
|
label: currentLabel,
|
|
147
177
|
value: valueState,
|
|
148
178
|
}), bodyProps: tslib_1.__assign(tslib_1.__assign({}, bodyProps), { ref: bodyRef }), ref: ref })),
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { SelectOnClear, SelectRenderLeft, SelectRenderRight, SelectRenderRightLayout } from './entities';
|
|
2
|
+
import type { SelectPropSize } from './types';
|
|
3
|
+
export type SelectContextValue = {
|
|
4
|
+
renderRightLayout: SelectRenderRightLayout;
|
|
5
|
+
size: SelectPropSize;
|
|
6
|
+
open: boolean;
|
|
7
|
+
disabled: boolean;
|
|
8
|
+
hasValue: boolean;
|
|
9
|
+
onClear: SelectOnClear;
|
|
10
|
+
renderLeft: SelectRenderLeft;
|
|
11
|
+
renderRight: SelectRenderRight;
|
|
12
|
+
clearText: string;
|
|
13
|
+
showClearButton: boolean;
|
|
14
|
+
required: boolean;
|
|
15
|
+
multiline: boolean;
|
|
16
|
+
fullWidth: boolean;
|
|
17
|
+
error: boolean;
|
|
18
|
+
};
|
|
19
|
+
export declare const SelectContextDefaultValue: SelectContextValue;
|
|
20
|
+
export declare const SelectContext: import("react").Context<SelectContextValue>;
|
|
21
|
+
export declare const useSelectContext: () => SelectContextValue;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useSelectContext = exports.SelectContext = exports.SelectContextDefaultValue = void 0;
|
|
4
|
+
var react_1 = require("react");
|
|
5
|
+
var environment_1 = require("../../constants/environment");
|
|
6
|
+
var constants_1 = require("./constants");
|
|
7
|
+
exports.SelectContextDefaultValue = {
|
|
8
|
+
renderRightLayout: constants_1.SELECT_DEFAULT_RENDER_RIGHT_LAYOUT,
|
|
9
|
+
disabled: constants_1.SELECT_DEFAULT_DISABLED,
|
|
10
|
+
size: constants_1.SELECT_DEFAULT_SIZE,
|
|
11
|
+
open: constants_1.SELECT_DEFAULT_DEFAULT_OPEN,
|
|
12
|
+
hasValue: false,
|
|
13
|
+
onClear: function () { },
|
|
14
|
+
clearText: '',
|
|
15
|
+
renderLeft: undefined,
|
|
16
|
+
renderRight: undefined,
|
|
17
|
+
showClearButton: constants_1.SELECT_DEFAULT_SHOW_CLEAR_BUTTON,
|
|
18
|
+
required: constants_1.SELECT_DEFAULT_REQUIRED,
|
|
19
|
+
multiline: constants_1.SELECT_DEFAULT_MULTILINE,
|
|
20
|
+
fullWidth: constants_1.SELECT_DEFAULT_FULL_WIDTH,
|
|
21
|
+
error: false,
|
|
22
|
+
};
|
|
23
|
+
exports.SelectContext = (0, react_1.createContext)(exports.SelectContextDefaultValue);
|
|
24
|
+
var useSelectContext = function () { return (0, react_1.useContext)(exports.SelectContext); };
|
|
25
|
+
exports.useSelectContext = useSelectContext;
|
|
26
|
+
// Именованный провайдер
|
|
27
|
+
if (environment_1.isDev) {
|
|
28
|
+
exports.SelectContext.displayName = 'SelectContext';
|
|
29
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const cnSelect: import("@bem-react/classname").ClassNameFormatter;
|