@alfalab/core-components-password-input 5.7.3 → 5.8.1-snapshot-f57d3d0
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/component.d.ts +10 -19
- package/component.js +11 -10
- package/component.js.map +1 -0
- package/cssm/component.d.ts +10 -19
- package/cssm/component.js +12 -9
- package/cssm/component.js.map +1 -0
- package/cssm/index.d.ts +1 -1
- package/cssm/index.js +1 -0
- package/cssm/index.js.map +1 -0
- package/cssm/index.module.css +3 -24
- package/esm/component.d.ts +10 -19
- package/esm/component.js +10 -9
- package/esm/component.js.map +1 -0
- package/esm/index.css +6 -28
- package/esm/index.d.ts +1 -1
- package/esm/index.js +1 -0
- package/esm/index.js.map +1 -0
- package/esm/index.module.css.js +6 -0
- package/esm/index.module.css.js.map +1 -0
- package/index.css +6 -28
- package/index.d.ts +1 -1
- package/index.js +1 -0
- package/index.js.map +1 -0
- package/index.module.css.js +8 -0
- package/index.module.css.js.map +1 -0
- package/modern/component.d.ts +10 -19
- package/modern/component.js +9 -8
- package/modern/component.js.map +1 -0
- package/modern/index.css +6 -28
- package/modern/index.d.ts +1 -1
- package/modern/index.js +1 -0
- package/modern/index.js.map +1 -0
- package/modern/index.module.css.js +6 -0
- package/modern/index.module.css.js.map +1 -0
- package/moderncssm/component.d.ts +10 -19
- package/moderncssm/component.js +8 -5
- package/moderncssm/component.js.map +1 -0
- package/moderncssm/index.d.ts +1 -1
- package/moderncssm/index.js +1 -0
- package/moderncssm/index.js.map +1 -0
- package/moderncssm/index.module.css +0 -2
- package/package.json +5 -5
- package/src/component.tsx +15 -6
package/component.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import React from 'react';
|
|
3
|
-
import { InputProps } from
|
|
4
|
-
type PasswordInputProps = Omit<InputProps, 'size'> & {
|
|
2
|
+
import { InputProps } from '@alfalab/core-components-input';
|
|
3
|
+
export declare type PasswordInputProps = Omit<InputProps, 'size'> & {
|
|
5
4
|
/**
|
|
6
5
|
* Размер компонента
|
|
7
6
|
* @description s, m, l, xl deprecated, используйте вместо них 48, 56, 64, 72 соответственно
|
|
@@ -12,23 +11,15 @@ type PasswordInputProps = Omit<InputProps, 'size'> & {
|
|
|
12
11
|
*/
|
|
13
12
|
passwordVisible?: boolean;
|
|
14
13
|
/**
|
|
15
|
-
*
|
|
14
|
+
* Управление текстом подсказки
|
|
16
15
|
*/
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
* Размер компонента
|
|
22
|
-
* @description s, m, l, xl deprecated, используйте вместо них 48, 56, 64, 72 соответственно
|
|
23
|
-
*/
|
|
24
|
-
size?: Exclude<InputProps['size'], 40>;
|
|
25
|
-
/**
|
|
26
|
-
* Управление видимостью пароля (controlled)
|
|
27
|
-
*/
|
|
28
|
-
passwordVisible?: boolean | undefined;
|
|
16
|
+
passwordHint?: {
|
|
17
|
+
visible: string;
|
|
18
|
+
hidden: string;
|
|
19
|
+
};
|
|
29
20
|
/**
|
|
30
21
|
* Коллбэк при изменении видимости пароля
|
|
31
22
|
*/
|
|
32
|
-
onPasswordVisibleChange?: (
|
|
33
|
-
}
|
|
34
|
-
export
|
|
23
|
+
onPasswordVisibleChange?: (visible: boolean) => void;
|
|
24
|
+
};
|
|
25
|
+
export declare const PasswordInput: React.ForwardRefExoticComponent<Omit<PasswordInputProps, "ref"> & React.RefAttributes<HTMLInputElement>>;
|
package/component.js
CHANGED
|
@@ -9,15 +9,13 @@ var coreComponentsIconButton = require('@alfalab/core-components-icon-button');
|
|
|
9
9
|
var coreComponentsInput = require('@alfalab/core-components-input');
|
|
10
10
|
var EyeMIcon = require('@alfalab/icons-glyph/EyeMIcon');
|
|
11
11
|
var EyeOffMIcon = require('@alfalab/icons-glyph/EyeOffMIcon');
|
|
12
|
+
var index_module = require('./index.module.css.js');
|
|
12
13
|
|
|
13
14
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
14
15
|
|
|
15
16
|
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
16
17
|
var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
|
|
17
18
|
|
|
18
|
-
var styles = {"eye":"password-input__eye_1w9ni","size-72":"password-input__size-72_1w9ni","addons":"password-input__addons_1w9ni"};
|
|
19
|
-
require('./index.css')
|
|
20
|
-
|
|
21
19
|
var SIZE_TO_CLASSNAME_MAP = {
|
|
22
20
|
s: 'size-48',
|
|
23
21
|
m: 'size-56',
|
|
@@ -29,24 +27,27 @@ var SIZE_TO_CLASSNAME_MAP = {
|
|
|
29
27
|
72: 'size-72',
|
|
30
28
|
};
|
|
31
29
|
var PasswordInput = React.forwardRef(function (_a, ref) {
|
|
32
|
-
var onPasswordVisibleChange = _a.onPasswordVisibleChange, passwordVisible = _a.passwordVisible, disabled = _a.disabled, colors = _a.colors, rightAddons = _a.rightAddons, _b = _a.size, size = _b === void 0 ? 48 : _b,
|
|
30
|
+
var onPasswordVisibleChange = _a.onPasswordVisibleChange, passwordVisible = _a.passwordVisible, disabled = _a.disabled, colors = _a.colors, rightAddons = _a.rightAddons, _b = _a.size, size = _b === void 0 ? 48 : _b, _c = _a.passwordHint, passwordHint = _c === void 0 ? {
|
|
31
|
+
visible: 'Скрыть',
|
|
32
|
+
hidden: 'Показать',
|
|
33
|
+
} : _c, className = _a.className, restProps = tslib.__rest(_a, ["onPasswordVisibleChange", "passwordVisible", "disabled", "colors", "rightAddons", "size", "passwordHint", "className"]);
|
|
34
|
+
var visible = passwordHint.visible, hidden = passwordHint.hidden;
|
|
33
35
|
var uncontrolled = passwordVisible === undefined;
|
|
34
|
-
var
|
|
36
|
+
var _d = React.useState(uncontrolled ? false : passwordVisible), statePasswordVisible = _d[0], setStatePasswordVisible = _d[1];
|
|
35
37
|
var handleButtonClick = React.useCallback(function () {
|
|
36
38
|
if (onPasswordVisibleChange) {
|
|
37
39
|
onPasswordVisibleChange(!passwordVisible);
|
|
38
40
|
}
|
|
39
41
|
if (uncontrolled) {
|
|
40
|
-
setStatePasswordVisible(function (
|
|
42
|
+
setStatePasswordVisible(function (prevVisible) { return !prevVisible; });
|
|
41
43
|
}
|
|
42
44
|
}, [passwordVisible, uncontrolled, onPasswordVisibleChange]);
|
|
43
45
|
var isPasswordVisible = uncontrolled ? statePasswordVisible : passwordVisible;
|
|
44
|
-
return (React__default.default.createElement(coreComponentsInput.Input, tslib.__assign({}, restProps, { disabled: disabled, type: isPasswordVisible ? 'text' : 'password', size: size, ref: ref, colors: colors, className: cn__default.default(className,
|
|
46
|
+
return (React__default.default.createElement(coreComponentsInput.Input, tslib.__assign({}, restProps, { disabled: disabled, type: isPasswordVisible ? 'text' : 'password', size: size, ref: ref, colors: colors, className: cn__default.default(className, index_module[SIZE_TO_CLASSNAME_MAP[size]]), rightAddons: React__default.default.createElement(React__default.default.Fragment, null,
|
|
45
47
|
rightAddons,
|
|
46
|
-
React__default.default.createElement(coreComponentsIconButton.IconButton, { className:
|
|
47
|
-
? 'Скрыть введённые цифры'
|
|
48
|
-
: 'Показать введённые цифры' })), addonsClassName: styles.addons, inputClassName: styles.input })));
|
|
48
|
+
React__default.default.createElement(coreComponentsIconButton.IconButton, { className: index_module.eye, colors: colors, view: 'secondary', size: 's', icon: isPasswordVisible ? EyeMIcon.EyeMIcon : EyeOffMIcon.EyeOffMIcon, onClick: handleButtonClick, disabled: disabled, title: isPasswordVisible ? visible : hidden })), addonsClassName: index_module.addons, inputClassName: index_module.input })));
|
|
49
49
|
});
|
|
50
50
|
PasswordInput.displayName = 'PasswordInput';
|
|
51
51
|
|
|
52
52
|
exports.PasswordInput = PasswordInput;
|
|
53
|
+
//# sourceMappingURL=component.js.map
|
package/component.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.js","sources":["src/component.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useState } from 'react';\nimport cn from 'classnames';\n\nimport { IconButton } from '@alfalab/core-components-icon-button';\nimport { Input, InputProps } from '@alfalab/core-components-input';\nimport { EyeMIcon } from '@alfalab/icons-glyph/EyeMIcon';\nimport { EyeOffMIcon } from '@alfalab/icons-glyph/EyeOffMIcon';\n\nimport styles from './index.module.css';\n\nexport type PasswordInputProps = Omit<InputProps, 'size'> & {\n /**\n * Размер компонента\n * @description s, m, l, xl deprecated, используйте вместо них 48, 56, 64, 72 соответственно\n */\n size?: Exclude<InputProps['size'], 40>;\n\n /**\n * Управление видимостью пароля (controlled)\n */\n passwordVisible?: boolean;\n\n /**\n * Управление текстом подсказки\n */\n passwordHint?: {\n visible: string;\n hidden: string;\n };\n\n /**\n * Коллбэк при изменении видимости пароля\n */\n onPasswordVisibleChange?: (visible: boolean) => void;\n};\n\nconst SIZE_TO_CLASSNAME_MAP = {\n s: 'size-48',\n m: 'size-56',\n l: 'size-64',\n xl: 'size-72',\n 48: 'size-48',\n 56: 'size-56',\n 64: 'size-64',\n 72: 'size-72',\n};\n\nexport const PasswordInput = forwardRef<HTMLInputElement, PasswordInputProps>(\n (\n {\n onPasswordVisibleChange,\n passwordVisible,\n disabled,\n colors,\n rightAddons,\n size = 48,\n passwordHint = {\n visible: 'Скрыть',\n hidden: 'Показать',\n },\n className,\n ...restProps\n },\n ref,\n ) => {\n const { visible, hidden } = passwordHint;\n const uncontrolled = passwordVisible === undefined;\n const [statePasswordVisible, setStatePasswordVisible] = useState(\n uncontrolled ? false : passwordVisible,\n );\n\n const handleButtonClick = useCallback(() => {\n if (onPasswordVisibleChange) {\n onPasswordVisibleChange(!passwordVisible);\n }\n\n if (uncontrolled) {\n setStatePasswordVisible((prevVisible) => !prevVisible);\n }\n }, [passwordVisible, uncontrolled, onPasswordVisibleChange]);\n\n const isPasswordVisible = uncontrolled ? statePasswordVisible : passwordVisible;\n\n return (\n <Input\n {...restProps}\n disabled={disabled}\n type={isPasswordVisible ? 'text' : 'password'}\n size={size}\n ref={ref}\n colors={colors}\n className={cn(className, styles[SIZE_TO_CLASSNAME_MAP[size]])}\n rightAddons={\n <React.Fragment>\n {rightAddons}\n <IconButton\n className={styles.eye}\n colors={colors}\n view='secondary'\n size='s'\n icon={isPasswordVisible ? EyeMIcon : EyeOffMIcon}\n onClick={handleButtonClick}\n disabled={disabled}\n title={isPasswordVisible ? visible : hidden}\n />\n </React.Fragment>\n }\n addonsClassName={styles.addons}\n inputClassName={styles.input}\n />\n );\n },\n);\n\nPasswordInput.displayName = 'PasswordInput';\n"],"names":["forwardRef","__rest","useState","useCallback","React","Input","__assign","cn","styles","IconButton","EyeMIcon","EyeOffMIcon"],"mappings":"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"}
|
package/cssm/component.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import React from 'react';
|
|
3
|
-
import { InputProps } from
|
|
4
|
-
type PasswordInputProps = Omit<InputProps, 'size'> & {
|
|
2
|
+
import { InputProps } from '@alfalab/core-components-input';
|
|
3
|
+
export declare type PasswordInputProps = Omit<InputProps, 'size'> & {
|
|
5
4
|
/**
|
|
6
5
|
* Размер компонента
|
|
7
6
|
* @description s, m, l, xl deprecated, используйте вместо них 48, 56, 64, 72 соответственно
|
|
@@ -12,23 +11,15 @@ type PasswordInputProps = Omit<InputProps, 'size'> & {
|
|
|
12
11
|
*/
|
|
13
12
|
passwordVisible?: boolean;
|
|
14
13
|
/**
|
|
15
|
-
*
|
|
14
|
+
* Управление текстом подсказки
|
|
16
15
|
*/
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
* Размер компонента
|
|
22
|
-
* @description s, m, l, xl deprecated, используйте вместо них 48, 56, 64, 72 соответственно
|
|
23
|
-
*/
|
|
24
|
-
size?: Exclude<InputProps['size'], 40>;
|
|
25
|
-
/**
|
|
26
|
-
* Управление видимостью пароля (controlled)
|
|
27
|
-
*/
|
|
28
|
-
passwordVisible?: boolean | undefined;
|
|
16
|
+
passwordHint?: {
|
|
17
|
+
visible: string;
|
|
18
|
+
hidden: string;
|
|
19
|
+
};
|
|
29
20
|
/**
|
|
30
21
|
* Коллбэк при изменении видимости пароля
|
|
31
22
|
*/
|
|
32
|
-
onPasswordVisibleChange?: (
|
|
33
|
-
}
|
|
34
|
-
export
|
|
23
|
+
onPasswordVisibleChange?: (visible: boolean) => void;
|
|
24
|
+
};
|
|
25
|
+
export declare const PasswordInput: React.ForwardRefExoticComponent<Omit<PasswordInputProps, "ref"> & React.RefAttributes<HTMLInputElement>>;
|
package/cssm/component.js
CHANGED
|
@@ -5,8 +5,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var tslib = require('tslib');
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var cn = require('classnames');
|
|
8
|
-
var
|
|
9
|
-
var
|
|
8
|
+
var cssm$1 = require('@alfalab/core-components-icon-button/cssm');
|
|
9
|
+
var cssm = require('@alfalab/core-components-input/cssm');
|
|
10
10
|
var EyeMIcon = require('@alfalab/icons-glyph/EyeMIcon');
|
|
11
11
|
var EyeOffMIcon = require('@alfalab/icons-glyph/EyeOffMIcon');
|
|
12
12
|
var styles = require('./index.module.css');
|
|
@@ -28,24 +28,27 @@ var SIZE_TO_CLASSNAME_MAP = {
|
|
|
28
28
|
72: 'size-72',
|
|
29
29
|
};
|
|
30
30
|
var PasswordInput = React.forwardRef(function (_a, ref) {
|
|
31
|
-
var onPasswordVisibleChange = _a.onPasswordVisibleChange, passwordVisible = _a.passwordVisible, disabled = _a.disabled, colors = _a.colors, rightAddons = _a.rightAddons, _b = _a.size, size = _b === void 0 ? 48 : _b,
|
|
31
|
+
var onPasswordVisibleChange = _a.onPasswordVisibleChange, passwordVisible = _a.passwordVisible, disabled = _a.disabled, colors = _a.colors, rightAddons = _a.rightAddons, _b = _a.size, size = _b === void 0 ? 48 : _b, _c = _a.passwordHint, passwordHint = _c === void 0 ? {
|
|
32
|
+
visible: 'Скрыть',
|
|
33
|
+
hidden: 'Показать',
|
|
34
|
+
} : _c, className = _a.className, restProps = tslib.__rest(_a, ["onPasswordVisibleChange", "passwordVisible", "disabled", "colors", "rightAddons", "size", "passwordHint", "className"]);
|
|
35
|
+
var visible = passwordHint.visible, hidden = passwordHint.hidden;
|
|
32
36
|
var uncontrolled = passwordVisible === undefined;
|
|
33
|
-
var
|
|
37
|
+
var _d = React.useState(uncontrolled ? false : passwordVisible), statePasswordVisible = _d[0], setStatePasswordVisible = _d[1];
|
|
34
38
|
var handleButtonClick = React.useCallback(function () {
|
|
35
39
|
if (onPasswordVisibleChange) {
|
|
36
40
|
onPasswordVisibleChange(!passwordVisible);
|
|
37
41
|
}
|
|
38
42
|
if (uncontrolled) {
|
|
39
|
-
setStatePasswordVisible(function (
|
|
43
|
+
setStatePasswordVisible(function (prevVisible) { return !prevVisible; });
|
|
40
44
|
}
|
|
41
45
|
}, [passwordVisible, uncontrolled, onPasswordVisibleChange]);
|
|
42
46
|
var isPasswordVisible = uncontrolled ? statePasswordVisible : passwordVisible;
|
|
43
|
-
return (React__default.default.createElement(
|
|
47
|
+
return (React__default.default.createElement(cssm.Input, tslib.__assign({}, restProps, { disabled: disabled, type: isPasswordVisible ? 'text' : 'password', size: size, ref: ref, colors: colors, className: cn__default.default(className, styles__default.default[SIZE_TO_CLASSNAME_MAP[size]]), rightAddons: React__default.default.createElement(React__default.default.Fragment, null,
|
|
44
48
|
rightAddons,
|
|
45
|
-
React__default.default.createElement(
|
|
46
|
-
? 'Скрыть введённые цифры'
|
|
47
|
-
: 'Показать введённые цифры' })), addonsClassName: styles__default.default.addons, inputClassName: styles__default.default.input })));
|
|
49
|
+
React__default.default.createElement(cssm$1.IconButton, { className: styles__default.default.eye, colors: colors, view: 'secondary', size: 's', icon: isPasswordVisible ? EyeMIcon.EyeMIcon : EyeOffMIcon.EyeOffMIcon, onClick: handleButtonClick, disabled: disabled, title: isPasswordVisible ? visible : hidden })), addonsClassName: styles__default.default.addons, inputClassName: styles__default.default.input })));
|
|
48
50
|
});
|
|
49
51
|
PasswordInput.displayName = 'PasswordInput';
|
|
50
52
|
|
|
51
53
|
exports.PasswordInput = PasswordInput;
|
|
54
|
+
//# sourceMappingURL=component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.js","sources":["../src/component.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useState } from 'react';\nimport cn from 'classnames';\n\nimport { IconButton } from '@alfalab/core-components-icon-button';\nimport { Input, InputProps } from '@alfalab/core-components-input';\nimport { EyeMIcon } from '@alfalab/icons-glyph/EyeMIcon';\nimport { EyeOffMIcon } from '@alfalab/icons-glyph/EyeOffMIcon';\n\nimport styles from './index.module.css';\n\nexport type PasswordInputProps = Omit<InputProps, 'size'> & {\n /**\n * Размер компонента\n * @description s, m, l, xl deprecated, используйте вместо них 48, 56, 64, 72 соответственно\n */\n size?: Exclude<InputProps['size'], 40>;\n\n /**\n * Управление видимостью пароля (controlled)\n */\n passwordVisible?: boolean;\n\n /**\n * Управление текстом подсказки\n */\n passwordHint?: {\n visible: string;\n hidden: string;\n };\n\n /**\n * Коллбэк при изменении видимости пароля\n */\n onPasswordVisibleChange?: (visible: boolean) => void;\n};\n\nconst SIZE_TO_CLASSNAME_MAP = {\n s: 'size-48',\n m: 'size-56',\n l: 'size-64',\n xl: 'size-72',\n 48: 'size-48',\n 56: 'size-56',\n 64: 'size-64',\n 72: 'size-72',\n};\n\nexport const PasswordInput = forwardRef<HTMLInputElement, PasswordInputProps>(\n (\n {\n onPasswordVisibleChange,\n passwordVisible,\n disabled,\n colors,\n rightAddons,\n size = 48,\n passwordHint = {\n visible: 'Скрыть',\n hidden: 'Показать',\n },\n className,\n ...restProps\n },\n ref,\n ) => {\n const { visible, hidden } = passwordHint;\n const uncontrolled = passwordVisible === undefined;\n const [statePasswordVisible, setStatePasswordVisible] = useState(\n uncontrolled ? false : passwordVisible,\n );\n\n const handleButtonClick = useCallback(() => {\n if (onPasswordVisibleChange) {\n onPasswordVisibleChange(!passwordVisible);\n }\n\n if (uncontrolled) {\n setStatePasswordVisible((prevVisible) => !prevVisible);\n }\n }, [passwordVisible, uncontrolled, onPasswordVisibleChange]);\n\n const isPasswordVisible = uncontrolled ? statePasswordVisible : passwordVisible;\n\n return (\n <Input\n {...restProps}\n disabled={disabled}\n type={isPasswordVisible ? 'text' : 'password'}\n size={size}\n ref={ref}\n colors={colors}\n className={cn(className, styles[SIZE_TO_CLASSNAME_MAP[size]])}\n rightAddons={\n <React.Fragment>\n {rightAddons}\n <IconButton\n className={styles.eye}\n colors={colors}\n view='secondary'\n size='s'\n icon={isPasswordVisible ? EyeMIcon : EyeOffMIcon}\n onClick={handleButtonClick}\n disabled={disabled}\n title={isPasswordVisible ? visible : hidden}\n />\n </React.Fragment>\n }\n addonsClassName={styles.addons}\n inputClassName={styles.input}\n />\n );\n },\n);\n\nPasswordInput.displayName = 'PasswordInput';\n"],"names":["forwardRef","__rest","useState","useCallback","React","Input","__assign","cn","styles","IconButton","EyeMIcon","EyeOffMIcon"],"mappings":"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"}
|
package/cssm/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from
|
|
1
|
+
export * from './component';
|
package/cssm/index.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
|
package/cssm/index.module.css
CHANGED
|
@@ -1,29 +1,8 @@
|
|
|
1
|
-
:root {
|
|
2
|
-
|
|
3
|
-
} :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
|
|
4
|
-
} :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
|
|
5
|
-
} :root {
|
|
6
|
-
|
|
7
|
-
/* Hard */
|
|
8
|
-
|
|
9
|
-
/* Up */
|
|
10
|
-
|
|
11
|
-
/* Hard up */
|
|
12
|
-
} :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
|
|
13
|
-
|
|
14
|
-
/* новые значения, используйте их */
|
|
15
|
-
} :root { /* deprecated */
|
|
16
|
-
--gap-2xs: 4px; /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
|
|
17
|
-
|
|
18
|
-
/* новые значения, используйте их */
|
|
19
|
-
|
|
20
|
-
/* no-unit может приводить к проблемам в calc (#1559) */
|
|
21
|
-
/* stylelint-disable-next-line length-zero-no-unit */
|
|
1
|
+
:root {
|
|
2
|
+
--gap-2xs: 4px;
|
|
22
3
|
--gap-0: 0px;
|
|
23
4
|
--gap-4: var(--gap-2xs);
|
|
24
|
-
} :
|
|
25
|
-
} :root {
|
|
26
|
-
} /* сбрасывает синюю подсветку при нажатии */ .eye:last-child {
|
|
5
|
+
} .eye:last-child {
|
|
27
6
|
height: 100%;
|
|
28
7
|
} .size-72 .addons {
|
|
29
8
|
padding-right: var(--gap-0);
|
package/esm/component.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import React from 'react';
|
|
3
|
-
import { InputProps } from
|
|
4
|
-
type PasswordInputProps = Omit<InputProps, 'size'> & {
|
|
2
|
+
import { InputProps } from '@alfalab/core-components-input';
|
|
3
|
+
export declare type PasswordInputProps = Omit<InputProps, 'size'> & {
|
|
5
4
|
/**
|
|
6
5
|
* Размер компонента
|
|
7
6
|
* @description s, m, l, xl deprecated, используйте вместо них 48, 56, 64, 72 соответственно
|
|
@@ -12,23 +11,15 @@ type PasswordInputProps = Omit<InputProps, 'size'> & {
|
|
|
12
11
|
*/
|
|
13
12
|
passwordVisible?: boolean;
|
|
14
13
|
/**
|
|
15
|
-
*
|
|
14
|
+
* Управление текстом подсказки
|
|
16
15
|
*/
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
* Размер компонента
|
|
22
|
-
* @description s, m, l, xl deprecated, используйте вместо них 48, 56, 64, 72 соответственно
|
|
23
|
-
*/
|
|
24
|
-
size?: Exclude<InputProps['size'], 40>;
|
|
25
|
-
/**
|
|
26
|
-
* Управление видимостью пароля (controlled)
|
|
27
|
-
*/
|
|
28
|
-
passwordVisible?: boolean | undefined;
|
|
16
|
+
passwordHint?: {
|
|
17
|
+
visible: string;
|
|
18
|
+
hidden: string;
|
|
19
|
+
};
|
|
29
20
|
/**
|
|
30
21
|
* Коллбэк при изменении видимости пароля
|
|
31
22
|
*/
|
|
32
|
-
onPasswordVisibleChange?: (
|
|
33
|
-
}
|
|
34
|
-
export
|
|
23
|
+
onPasswordVisibleChange?: (visible: boolean) => void;
|
|
24
|
+
};
|
|
25
|
+
export declare const PasswordInput: React.ForwardRefExoticComponent<Omit<PasswordInputProps, "ref"> & React.RefAttributes<HTMLInputElement>>;
|
package/esm/component.js
CHANGED
|
@@ -5,9 +5,7 @@ import { IconButton } from '@alfalab/core-components-icon-button/esm';
|
|
|
5
5
|
import { Input } from '@alfalab/core-components-input/esm';
|
|
6
6
|
import { EyeMIcon } from '@alfalab/icons-glyph/EyeMIcon';
|
|
7
7
|
import { EyeOffMIcon } from '@alfalab/icons-glyph/EyeOffMIcon';
|
|
8
|
-
|
|
9
|
-
var styles = {"eye":"password-input__eye_1w9ni","size-72":"password-input__size-72_1w9ni","addons":"password-input__addons_1w9ni"};
|
|
10
|
-
require('./index.css')
|
|
8
|
+
import styles from './index.module.css.js';
|
|
11
9
|
|
|
12
10
|
var SIZE_TO_CLASSNAME_MAP = {
|
|
13
11
|
s: 'size-48',
|
|
@@ -20,24 +18,27 @@ var SIZE_TO_CLASSNAME_MAP = {
|
|
|
20
18
|
72: 'size-72',
|
|
21
19
|
};
|
|
22
20
|
var PasswordInput = forwardRef(function (_a, ref) {
|
|
23
|
-
var onPasswordVisibleChange = _a.onPasswordVisibleChange, passwordVisible = _a.passwordVisible, disabled = _a.disabled, colors = _a.colors, rightAddons = _a.rightAddons, _b = _a.size, size = _b === void 0 ? 48 : _b,
|
|
21
|
+
var onPasswordVisibleChange = _a.onPasswordVisibleChange, passwordVisible = _a.passwordVisible, disabled = _a.disabled, colors = _a.colors, rightAddons = _a.rightAddons, _b = _a.size, size = _b === void 0 ? 48 : _b, _c = _a.passwordHint, passwordHint = _c === void 0 ? {
|
|
22
|
+
visible: 'Скрыть',
|
|
23
|
+
hidden: 'Показать',
|
|
24
|
+
} : _c, className = _a.className, restProps = __rest(_a, ["onPasswordVisibleChange", "passwordVisible", "disabled", "colors", "rightAddons", "size", "passwordHint", "className"]);
|
|
25
|
+
var visible = passwordHint.visible, hidden = passwordHint.hidden;
|
|
24
26
|
var uncontrolled = passwordVisible === undefined;
|
|
25
|
-
var
|
|
27
|
+
var _d = useState(uncontrolled ? false : passwordVisible), statePasswordVisible = _d[0], setStatePasswordVisible = _d[1];
|
|
26
28
|
var handleButtonClick = useCallback(function () {
|
|
27
29
|
if (onPasswordVisibleChange) {
|
|
28
30
|
onPasswordVisibleChange(!passwordVisible);
|
|
29
31
|
}
|
|
30
32
|
if (uncontrolled) {
|
|
31
|
-
setStatePasswordVisible(function (
|
|
33
|
+
setStatePasswordVisible(function (prevVisible) { return !prevVisible; });
|
|
32
34
|
}
|
|
33
35
|
}, [passwordVisible, uncontrolled, onPasswordVisibleChange]);
|
|
34
36
|
var isPasswordVisible = uncontrolled ? statePasswordVisible : passwordVisible;
|
|
35
37
|
return (React.createElement(Input, __assign({}, restProps, { disabled: disabled, type: isPasswordVisible ? 'text' : 'password', size: size, ref: ref, colors: colors, className: cn(className, styles[SIZE_TO_CLASSNAME_MAP[size]]), rightAddons: React.createElement(React.Fragment, null,
|
|
36
38
|
rightAddons,
|
|
37
|
-
React.createElement(IconButton, { className: styles.eye, colors: colors, view: 'secondary', size: 's', icon: isPasswordVisible ? EyeMIcon : EyeOffMIcon, onClick: handleButtonClick, disabled: disabled, title: isPasswordVisible
|
|
38
|
-
? 'Скрыть введённые цифры'
|
|
39
|
-
: 'Показать введённые цифры' })), addonsClassName: styles.addons, inputClassName: styles.input })));
|
|
39
|
+
React.createElement(IconButton, { className: styles.eye, colors: colors, view: 'secondary', size: 's', icon: isPasswordVisible ? EyeMIcon : EyeOffMIcon, onClick: handleButtonClick, disabled: disabled, title: isPasswordVisible ? visible : hidden })), addonsClassName: styles.addons, inputClassName: styles.input })));
|
|
40
40
|
});
|
|
41
41
|
PasswordInput.displayName = 'PasswordInput';
|
|
42
42
|
|
|
43
43
|
export { PasswordInput };
|
|
44
|
+
//# sourceMappingURL=component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.js","sources":["../src/component.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useState } from 'react';\nimport cn from 'classnames';\n\nimport { IconButton } from '@alfalab/core-components-icon-button';\nimport { Input, InputProps } from '@alfalab/core-components-input';\nimport { EyeMIcon } from '@alfalab/icons-glyph/EyeMIcon';\nimport { EyeOffMIcon } from '@alfalab/icons-glyph/EyeOffMIcon';\n\nimport styles from './index.module.css';\n\nexport type PasswordInputProps = Omit<InputProps, 'size'> & {\n /**\n * Размер компонента\n * @description s, m, l, xl deprecated, используйте вместо них 48, 56, 64, 72 соответственно\n */\n size?: Exclude<InputProps['size'], 40>;\n\n /**\n * Управление видимостью пароля (controlled)\n */\n passwordVisible?: boolean;\n\n /**\n * Управление текстом подсказки\n */\n passwordHint?: {\n visible: string;\n hidden: string;\n };\n\n /**\n * Коллбэк при изменении видимости пароля\n */\n onPasswordVisibleChange?: (visible: boolean) => void;\n};\n\nconst SIZE_TO_CLASSNAME_MAP = {\n s: 'size-48',\n m: 'size-56',\n l: 'size-64',\n xl: 'size-72',\n 48: 'size-48',\n 56: 'size-56',\n 64: 'size-64',\n 72: 'size-72',\n};\n\nexport const PasswordInput = forwardRef<HTMLInputElement, PasswordInputProps>(\n (\n {\n onPasswordVisibleChange,\n passwordVisible,\n disabled,\n colors,\n rightAddons,\n size = 48,\n passwordHint = {\n visible: 'Скрыть',\n hidden: 'Показать',\n },\n className,\n ...restProps\n },\n ref,\n ) => {\n const { visible, hidden } = passwordHint;\n const uncontrolled = passwordVisible === undefined;\n const [statePasswordVisible, setStatePasswordVisible] = useState(\n uncontrolled ? false : passwordVisible,\n );\n\n const handleButtonClick = useCallback(() => {\n if (onPasswordVisibleChange) {\n onPasswordVisibleChange(!passwordVisible);\n }\n\n if (uncontrolled) {\n setStatePasswordVisible((prevVisible) => !prevVisible);\n }\n }, [passwordVisible, uncontrolled, onPasswordVisibleChange]);\n\n const isPasswordVisible = uncontrolled ? statePasswordVisible : passwordVisible;\n\n return (\n <Input\n {...restProps}\n disabled={disabled}\n type={isPasswordVisible ? 'text' : 'password'}\n size={size}\n ref={ref}\n colors={colors}\n className={cn(className, styles[SIZE_TO_CLASSNAME_MAP[size]])}\n rightAddons={\n <React.Fragment>\n {rightAddons}\n <IconButton\n className={styles.eye}\n colors={colors}\n view='secondary'\n size='s'\n icon={isPasswordVisible ? EyeMIcon : EyeOffMIcon}\n onClick={handleButtonClick}\n disabled={disabled}\n title={isPasswordVisible ? visible : hidden}\n />\n </React.Fragment>\n }\n addonsClassName={styles.addons}\n inputClassName={styles.input}\n />\n );\n },\n);\n\nPasswordInput.displayName = 'PasswordInput';\n"],"names":[],"mappings":";;;;;;;;;AAoCA,IAAM,qBAAqB,GAAG;AAC1B,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,SAAS;CAChB;IAEY,aAAa,GAAG,UAAU,CACnC,UACI,EAaC,EACD,GAAG,EAAA;IAbC,IAAA,uBAAuB,GAAA,EAAA,CAAA,uBAAA,EACvB,eAAe,GAAA,EAAA,CAAA,eAAA,EACf,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,WAAW,GAAA,EAAA,CAAA,WAAA,EACX,EAAS,GAAA,EAAA,CAAA,IAAA,EAAT,IAAI,GAAA,EAAA,KAAA,MAAA,GAAG,EAAE,GAAA,EAAA,EACT,EAAA,GAAA,EAAA,CAAA,YAGC,EAHD,YAAY,GAAG,EAAA,KAAA,MAAA,GAAA;AACX,QAAA,OAAO,EAAE,QAAQ;AACjB,QAAA,MAAM,EAAE,UAAU;AACrB,KAAA,GAAA,EAAA,EACD,SAAS,GAAA,EAAA,CAAA,SAAA,EACN,SAAS,GAAA,MAAA,CAAA,EAAA,EAZhB,wHAaC,CADe;IAIR,IAAA,OAAO,GAAa,YAAY,CAAA,OAAzB,EAAE,MAAM,GAAK,YAAY,CAAA,MAAjB;AACvB,IAAA,IAAM,YAAY,GAAG,eAAe,KAAK,SAAS;AAC5C,IAAA,IAAA,KAAkD,QAAQ,CAC5D,YAAY,GAAG,KAAK,GAAG,eAAe,CACzC,EAFM,oBAAoB,QAAA,EAAE,uBAAuB,QAEnD;IAED,IAAM,iBAAiB,GAAG,WAAW,CAAC,YAAA;AAClC,QAAA,IAAI,uBAAuB,EAAE;AACzB,YAAA,uBAAuB,CAAC,CAAC,eAAe,CAAC;AAC5C;AAED,QAAA,IAAI,YAAY,EAAE;YACd,uBAAuB,CAAC,UAAC,WAAW,EAAK,EAAA,OAAA,CAAC,WAAW,CAAA,EAAA,CAAC;AACzD;KACJ,EAAE,CAAC,eAAe,EAAE,YAAY,EAAE,uBAAuB,CAAC,CAAC;IAE5D,IAAM,iBAAiB,GAAG,YAAY,GAAG,oBAAoB,GAAG,eAAe;IAE/E,QACI,KAAC,CAAA,aAAA,CAAA,KAAK,EACE,QAAA,CAAA,EAAA,EAAA,SAAS,IACb,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,iBAAiB,GAAG,MAAM,GAAG,UAAU,EAC7C,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,EAC7D,WAAW,EACP,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,QAAQ,EAAA,IAAA;YACV,WAAW;AACZ,YAAA,KAAA,CAAA,aAAA,CAAC,UAAU,EAAA,EACP,SAAS,EAAE,MAAM,CAAC,GAAG,EACrB,MAAM,EAAE,MAAM,EACd,IAAI,EAAC,WAAW,EAChB,IAAI,EAAC,GAAG,EACR,IAAI,EAAE,iBAAiB,GAAG,QAAQ,GAAG,WAAW,EAChD,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,iBAAiB,GAAG,OAAO,GAAG,MAAM,EAC7C,CAAA,CACW,EAErB,eAAe,EAAE,MAAM,CAAC,MAAM,EAC9B,cAAc,EAAE,MAAM,CAAC,KAAK,EAAA,CAAA,CAC9B;AAEV,CAAC;AAGL,aAAa,CAAC,WAAW,GAAG,eAAe;;;;"}
|
package/esm/index.css
CHANGED
|
@@ -1,35 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
:
|
|
3
|
-
} /* deprecated */ :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
|
|
4
|
-
} :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
|
|
5
|
-
} :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
|
|
6
|
-
} :root {
|
|
7
|
-
|
|
8
|
-
/* Hard */
|
|
9
|
-
|
|
10
|
-
/* Up */
|
|
11
|
-
|
|
12
|
-
/* Hard up */
|
|
13
|
-
} :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
|
|
14
|
-
|
|
15
|
-
/* новые значения, используйте их */
|
|
16
|
-
} :root { /* deprecated */
|
|
17
|
-
--gap-2xs: 4px; /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
|
|
18
|
-
|
|
19
|
-
/* новые значения, используйте их */
|
|
20
|
-
|
|
21
|
-
/* no-unit может приводить к проблемам в calc (#1559) */
|
|
22
|
-
/* stylelint-disable-next-line length-zero-no-unit */
|
|
1
|
+
:root {
|
|
2
|
+
--gap-2xs: 4px;
|
|
23
3
|
--gap-0: 0px;
|
|
24
4
|
--gap-4: var(--gap-2xs);
|
|
25
|
-
} :
|
|
26
|
-
} :root {
|
|
27
|
-
} /* сбрасывает синюю подсветку при нажатии */ .password-input__eye_1w9ni:last-child {
|
|
5
|
+
} .password-input__eye_gx4le:last-child {
|
|
28
6
|
height: 100%;
|
|
29
|
-
} .password-input__size-
|
|
7
|
+
} .password-input__size-72_gx4le .password-input__addons_gx4le {
|
|
30
8
|
padding-right: var(--gap-0);
|
|
31
|
-
} .password-input__size-
|
|
9
|
+
} .password-input__size-72_gx4le .password-input__eye_gx4le {
|
|
32
10
|
margin-left: var(--gap-4);
|
|
33
|
-
} .password-
|
|
11
|
+
} .password-input__addons_gx4le {
|
|
34
12
|
padding-right: var(--gap-0);
|
|
35
13
|
}
|
package/esm/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from
|
|
1
|
+
export * from './component';
|
package/esm/index.js
CHANGED
package/esm/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.module.css.js","sources":["src/index.module.css"],"sourcesContent":["@import '../../vars/src/index.css';\n\n.eye:last-child {\n height: 100%;\n}\n\n.size-72 {\n & .addons {\n padding-right: var(--gap-0);\n }\n\n & .eye {\n margin-left: var(--gap-4);\n }\n}\n\n.addons {\n padding-right: var(--gap-0);\n}\n"],"names":[],"mappings":";;AAEgB,aAAe,CAAC,KAAK,CAAC,2BAA2B,CAAC,SAAS,CAAC,+BAA+B,CAAC,QAAQ,CAAC,8BAA8B,CAAC;;;;"}
|
package/index.css
CHANGED
|
@@ -1,35 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
:
|
|
3
|
-
} /* deprecated */ :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
|
|
4
|
-
} :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
|
|
5
|
-
} :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
|
|
6
|
-
} :root {
|
|
7
|
-
|
|
8
|
-
/* Hard */
|
|
9
|
-
|
|
10
|
-
/* Up */
|
|
11
|
-
|
|
12
|
-
/* Hard up */
|
|
13
|
-
} :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
|
|
14
|
-
|
|
15
|
-
/* новые значения, используйте их */
|
|
16
|
-
} :root { /* deprecated */
|
|
17
|
-
--gap-2xs: 4px; /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
|
|
18
|
-
|
|
19
|
-
/* новые значения, используйте их */
|
|
20
|
-
|
|
21
|
-
/* no-unit может приводить к проблемам в calc (#1559) */
|
|
22
|
-
/* stylelint-disable-next-line length-zero-no-unit */
|
|
1
|
+
:root {
|
|
2
|
+
--gap-2xs: 4px;
|
|
23
3
|
--gap-0: 0px;
|
|
24
4
|
--gap-4: var(--gap-2xs);
|
|
25
|
-
} :
|
|
26
|
-
} :root {
|
|
27
|
-
} /* сбрасывает синюю подсветку при нажатии */ .password-input__eye_1w9ni:last-child {
|
|
5
|
+
} .password-input__eye_gx4le:last-child {
|
|
28
6
|
height: 100%;
|
|
29
|
-
} .password-input__size-
|
|
7
|
+
} .password-input__size-72_gx4le .password-input__addons_gx4le {
|
|
30
8
|
padding-right: var(--gap-0);
|
|
31
|
-
} .password-input__size-
|
|
9
|
+
} .password-input__size-72_gx4le .password-input__eye_gx4le {
|
|
32
10
|
margin-left: var(--gap-4);
|
|
33
|
-
} .password-
|
|
11
|
+
} .password-input__addons_gx4le {
|
|
34
12
|
padding-right: var(--gap-0);
|
|
35
13
|
}
|
package/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from
|
|
1
|
+
export * from './component';
|
package/index.js
CHANGED
package/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.module.css.js","sources":["src/index.module.css"],"sourcesContent":["@import '../../vars/src/index.css';\n\n.eye:last-child {\n height: 100%;\n}\n\n.size-72 {\n & .addons {\n padding-right: var(--gap-0);\n }\n\n & .eye {\n margin-left: var(--gap-4);\n }\n}\n\n.addons {\n padding-right: var(--gap-0);\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,KAAK,CAAC,2BAA2B,CAAC,SAAS,CAAC,+BAA+B,CAAC,QAAQ,CAAC,8BAA8B,CAAC;;;;"}
|
package/modern/component.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import React from 'react';
|
|
3
|
-
import { InputProps } from
|
|
4
|
-
type PasswordInputProps = Omit<InputProps, 'size'> & {
|
|
2
|
+
import { InputProps } from '@alfalab/core-components-input';
|
|
3
|
+
export declare type PasswordInputProps = Omit<InputProps, 'size'> & {
|
|
5
4
|
/**
|
|
6
5
|
* Размер компонента
|
|
7
6
|
* @description s, m, l, xl deprecated, используйте вместо них 48, 56, 64, 72 соответственно
|
|
@@ -12,23 +11,15 @@ type PasswordInputProps = Omit<InputProps, 'size'> & {
|
|
|
12
11
|
*/
|
|
13
12
|
passwordVisible?: boolean;
|
|
14
13
|
/**
|
|
15
|
-
*
|
|
14
|
+
* Управление текстом подсказки
|
|
16
15
|
*/
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
* Размер компонента
|
|
22
|
-
* @description s, m, l, xl deprecated, используйте вместо них 48, 56, 64, 72 соответственно
|
|
23
|
-
*/
|
|
24
|
-
size?: Exclude<InputProps['size'], 40>;
|
|
25
|
-
/**
|
|
26
|
-
* Управление видимостью пароля (controlled)
|
|
27
|
-
*/
|
|
28
|
-
passwordVisible?: boolean | undefined;
|
|
16
|
+
passwordHint?: {
|
|
17
|
+
visible: string;
|
|
18
|
+
hidden: string;
|
|
19
|
+
};
|
|
29
20
|
/**
|
|
30
21
|
* Коллбэк при изменении видимости пароля
|
|
31
22
|
*/
|
|
32
|
-
onPasswordVisibleChange?: (
|
|
33
|
-
}
|
|
34
|
-
export
|
|
23
|
+
onPasswordVisibleChange?: (visible: boolean) => void;
|
|
24
|
+
};
|
|
25
|
+
export declare const PasswordInput: React.ForwardRefExoticComponent<Omit<PasswordInputProps, "ref"> & React.RefAttributes<HTMLInputElement>>;
|
package/modern/component.js
CHANGED
|
@@ -4,9 +4,7 @@ import { IconButton } from '@alfalab/core-components-icon-button/modern';
|
|
|
4
4
|
import { Input } from '@alfalab/core-components-input/modern';
|
|
5
5
|
import { EyeMIcon } from '@alfalab/icons-glyph/EyeMIcon';
|
|
6
6
|
import { EyeOffMIcon } from '@alfalab/icons-glyph/EyeOffMIcon';
|
|
7
|
-
|
|
8
|
-
const styles = {"eye":"password-input__eye_1w9ni","size-72":"password-input__size-72_1w9ni","addons":"password-input__addons_1w9ni"};
|
|
9
|
-
require('./index.css')
|
|
7
|
+
import styles from './index.module.css.js';
|
|
10
8
|
|
|
11
9
|
const SIZE_TO_CLASSNAME_MAP = {
|
|
12
10
|
s: 'size-48',
|
|
@@ -18,7 +16,11 @@ const SIZE_TO_CLASSNAME_MAP = {
|
|
|
18
16
|
64: 'size-64',
|
|
19
17
|
72: 'size-72',
|
|
20
18
|
};
|
|
21
|
-
const PasswordInput = forwardRef(({ onPasswordVisibleChange, passwordVisible, disabled, colors, rightAddons, size = 48,
|
|
19
|
+
const PasswordInput = forwardRef(({ onPasswordVisibleChange, passwordVisible, disabled, colors, rightAddons, size = 48, passwordHint = {
|
|
20
|
+
visible: 'Скрыть',
|
|
21
|
+
hidden: 'Показать',
|
|
22
|
+
}, className, ...restProps }, ref) => {
|
|
23
|
+
const { visible, hidden } = passwordHint;
|
|
22
24
|
const uncontrolled = passwordVisible === undefined;
|
|
23
25
|
const [statePasswordVisible, setStatePasswordVisible] = useState(uncontrolled ? false : passwordVisible);
|
|
24
26
|
const handleButtonClick = useCallback(() => {
|
|
@@ -26,16 +28,15 @@ const PasswordInput = forwardRef(({ onPasswordVisibleChange, passwordVisible, di
|
|
|
26
28
|
onPasswordVisibleChange(!passwordVisible);
|
|
27
29
|
}
|
|
28
30
|
if (uncontrolled) {
|
|
29
|
-
setStatePasswordVisible((
|
|
31
|
+
setStatePasswordVisible((prevVisible) => !prevVisible);
|
|
30
32
|
}
|
|
31
33
|
}, [passwordVisible, uncontrolled, onPasswordVisibleChange]);
|
|
32
34
|
const isPasswordVisible = uncontrolled ? statePasswordVisible : passwordVisible;
|
|
33
35
|
return (React.createElement(Input, { ...restProps, disabled: disabled, type: isPasswordVisible ? 'text' : 'password', size: size, ref: ref, colors: colors, className: cn(className, styles[SIZE_TO_CLASSNAME_MAP[size]]), rightAddons: React.createElement(React.Fragment, null,
|
|
34
36
|
rightAddons,
|
|
35
|
-
React.createElement(IconButton, { className: styles.eye, colors: colors, view: 'secondary', size: 's', icon: isPasswordVisible ? EyeMIcon : EyeOffMIcon, onClick: handleButtonClick, disabled: disabled, title: isPasswordVisible
|
|
36
|
-
? 'Скрыть введённые цифры'
|
|
37
|
-
: 'Показать введённые цифры' })), addonsClassName: styles.addons, inputClassName: styles.input }));
|
|
37
|
+
React.createElement(IconButton, { className: styles.eye, colors: colors, view: 'secondary', size: 's', icon: isPasswordVisible ? EyeMIcon : EyeOffMIcon, onClick: handleButtonClick, disabled: disabled, title: isPasswordVisible ? visible : hidden })), addonsClassName: styles.addons, inputClassName: styles.input }));
|
|
38
38
|
});
|
|
39
39
|
PasswordInput.displayName = 'PasswordInput';
|
|
40
40
|
|
|
41
41
|
export { PasswordInput };
|
|
42
|
+
//# sourceMappingURL=component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.js","sources":["../src/component.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useState } from 'react';\nimport cn from 'classnames';\n\nimport { IconButton } from '@alfalab/core-components-icon-button';\nimport { Input, InputProps } from '@alfalab/core-components-input';\nimport { EyeMIcon } from '@alfalab/icons-glyph/EyeMIcon';\nimport { EyeOffMIcon } from '@alfalab/icons-glyph/EyeOffMIcon';\n\nimport styles from './index.module.css';\n\nexport type PasswordInputProps = Omit<InputProps, 'size'> & {\n /**\n * Размер компонента\n * @description s, m, l, xl deprecated, используйте вместо них 48, 56, 64, 72 соответственно\n */\n size?: Exclude<InputProps['size'], 40>;\n\n /**\n * Управление видимостью пароля (controlled)\n */\n passwordVisible?: boolean;\n\n /**\n * Управление текстом подсказки\n */\n passwordHint?: {\n visible: string;\n hidden: string;\n };\n\n /**\n * Коллбэк при изменении видимости пароля\n */\n onPasswordVisibleChange?: (visible: boolean) => void;\n};\n\nconst SIZE_TO_CLASSNAME_MAP = {\n s: 'size-48',\n m: 'size-56',\n l: 'size-64',\n xl: 'size-72',\n 48: 'size-48',\n 56: 'size-56',\n 64: 'size-64',\n 72: 'size-72',\n};\n\nexport const PasswordInput = forwardRef<HTMLInputElement, PasswordInputProps>(\n (\n {\n onPasswordVisibleChange,\n passwordVisible,\n disabled,\n colors,\n rightAddons,\n size = 48,\n passwordHint = {\n visible: 'Скрыть',\n hidden: 'Показать',\n },\n className,\n ...restProps\n },\n ref,\n ) => {\n const { visible, hidden } = passwordHint;\n const uncontrolled = passwordVisible === undefined;\n const [statePasswordVisible, setStatePasswordVisible] = useState(\n uncontrolled ? false : passwordVisible,\n );\n\n const handleButtonClick = useCallback(() => {\n if (onPasswordVisibleChange) {\n onPasswordVisibleChange(!passwordVisible);\n }\n\n if (uncontrolled) {\n setStatePasswordVisible((prevVisible) => !prevVisible);\n }\n }, [passwordVisible, uncontrolled, onPasswordVisibleChange]);\n\n const isPasswordVisible = uncontrolled ? statePasswordVisible : passwordVisible;\n\n return (\n <Input\n {...restProps}\n disabled={disabled}\n type={isPasswordVisible ? 'text' : 'password'}\n size={size}\n ref={ref}\n colors={colors}\n className={cn(className, styles[SIZE_TO_CLASSNAME_MAP[size]])}\n rightAddons={\n <React.Fragment>\n {rightAddons}\n <IconButton\n className={styles.eye}\n colors={colors}\n view='secondary'\n size='s'\n icon={isPasswordVisible ? EyeMIcon : EyeOffMIcon}\n onClick={handleButtonClick}\n disabled={disabled}\n title={isPasswordVisible ? visible : hidden}\n />\n </React.Fragment>\n }\n addonsClassName={styles.addons}\n inputClassName={styles.input}\n />\n );\n },\n);\n\nPasswordInput.displayName = 'PasswordInput';\n"],"names":[],"mappings":";;;;;;;;AAoCA,MAAM,qBAAqB,GAAG;AAC1B,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,SAAS;CAChB;MAEY,aAAa,GAAG,UAAU,CACnC,CACI,EACI,uBAAuB,EACvB,eAAe,EACf,QAAQ,EACR,MAAM,EACN,WAAW,EACX,IAAI,GAAG,EAAE,EACT,YAAY,GAAG;AACX,IAAA,OAAO,EAAE,QAAQ;AACjB,IAAA,MAAM,EAAE,UAAU;CACrB,EACD,SAAS,EACT,GAAG,SAAS,EACf,EACD,GAAG,KACH;AACA,IAAA,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,YAAY;AACxC,IAAA,MAAM,YAAY,GAAG,eAAe,KAAK,SAAS;AAClD,IAAA,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GAAG,QAAQ,CAC5D,YAAY,GAAG,KAAK,GAAG,eAAe,CACzC;AAED,IAAA,MAAM,iBAAiB,GAAG,WAAW,CAAC,MAAK;AACvC,QAAA,IAAI,uBAAuB,EAAE;AACzB,YAAA,uBAAuB,CAAC,CAAC,eAAe,CAAC;AAC5C;AAED,QAAA,IAAI,YAAY,EAAE;YACd,uBAAuB,CAAC,CAAC,WAAW,KAAK,CAAC,WAAW,CAAC;AACzD;KACJ,EAAE,CAAC,eAAe,EAAE,YAAY,EAAE,uBAAuB,CAAC,CAAC;IAE5D,MAAM,iBAAiB,GAAG,YAAY,GAAG,oBAAoB,GAAG,eAAe;IAE/E,QACI,KAAC,CAAA,aAAA,CAAA,KAAK,EACE,EAAA,GAAA,SAAS,EACb,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,iBAAiB,GAAG,MAAM,GAAG,UAAU,EAC7C,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,EAC7D,WAAW,EACP,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,QAAQ,EAAA,IAAA;YACV,WAAW;AACZ,YAAA,KAAA,CAAA,aAAA,CAAC,UAAU,EAAA,EACP,SAAS,EAAE,MAAM,CAAC,GAAG,EACrB,MAAM,EAAE,MAAM,EACd,IAAI,EAAC,WAAW,EAChB,IAAI,EAAC,GAAG,EACR,IAAI,EAAE,iBAAiB,GAAG,QAAQ,GAAG,WAAW,EAChD,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,iBAAiB,GAAG,OAAO,GAAG,MAAM,EAC7C,CAAA,CACW,EAErB,eAAe,EAAE,MAAM,CAAC,MAAM,EAC9B,cAAc,EAAE,MAAM,CAAC,KAAK,EAAA,CAC9B;AAEV,CAAC;AAGL,aAAa,CAAC,WAAW,GAAG,eAAe;;;;"}
|
package/modern/index.css
CHANGED
|
@@ -1,35 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
:
|
|
3
|
-
} /* deprecated */ :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
|
|
4
|
-
} :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
|
|
5
|
-
} :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
|
|
6
|
-
} :root {
|
|
7
|
-
|
|
8
|
-
/* Hard */
|
|
9
|
-
|
|
10
|
-
/* Up */
|
|
11
|
-
|
|
12
|
-
/* Hard up */
|
|
13
|
-
} :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
|
|
14
|
-
|
|
15
|
-
/* новые значения, используйте их */
|
|
16
|
-
} :root { /* deprecated */
|
|
17
|
-
--gap-2xs: 4px; /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
|
|
18
|
-
|
|
19
|
-
/* новые значения, используйте их */
|
|
20
|
-
|
|
21
|
-
/* no-unit может приводить к проблемам в calc (#1559) */
|
|
22
|
-
/* stylelint-disable-next-line length-zero-no-unit */
|
|
1
|
+
:root {
|
|
2
|
+
--gap-2xs: 4px;
|
|
23
3
|
--gap-0: 0px;
|
|
24
4
|
--gap-4: var(--gap-2xs);
|
|
25
|
-
} :
|
|
26
|
-
} :root {
|
|
27
|
-
} /* сбрасывает синюю подсветку при нажатии */ .password-input__eye_1w9ni:last-child {
|
|
5
|
+
} .password-input__eye_gx4le:last-child {
|
|
28
6
|
height: 100%;
|
|
29
|
-
} .password-input__size-
|
|
7
|
+
} .password-input__size-72_gx4le .password-input__addons_gx4le {
|
|
30
8
|
padding-right: var(--gap-0);
|
|
31
|
-
} .password-input__size-
|
|
9
|
+
} .password-input__size-72_gx4le .password-input__eye_gx4le {
|
|
32
10
|
margin-left: var(--gap-4);
|
|
33
|
-
} .password-
|
|
11
|
+
} .password-input__addons_gx4le {
|
|
34
12
|
padding-right: var(--gap-0);
|
|
35
13
|
}
|
package/modern/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from
|
|
1
|
+
export * from './component';
|
package/modern/index.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.module.css.js","sources":["src/index.module.css"],"sourcesContent":["@import '../../vars/src/index.css';\n\n.eye:last-child {\n height: 100%;\n}\n\n.size-72 {\n & .addons {\n padding-right: var(--gap-0);\n }\n\n & .eye {\n margin-left: var(--gap-4);\n }\n}\n\n.addons {\n padding-right: var(--gap-0);\n}\n"],"names":[],"mappings":";;AAEgB,eAAe,CAAC,KAAK,CAAC,2BAA2B,CAAC,SAAS,CAAC,+BAA+B,CAAC,QAAQ,CAAC,8BAA8B,CAAC;;;;"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import React from 'react';
|
|
3
|
-
import { InputProps } from
|
|
4
|
-
type PasswordInputProps = Omit<InputProps, 'size'> & {
|
|
2
|
+
import { InputProps } from '@alfalab/core-components-input';
|
|
3
|
+
export declare type PasswordInputProps = Omit<InputProps, 'size'> & {
|
|
5
4
|
/**
|
|
6
5
|
* Размер компонента
|
|
7
6
|
* @description s, m, l, xl deprecated, используйте вместо них 48, 56, 64, 72 соответственно
|
|
@@ -12,23 +11,15 @@ type PasswordInputProps = Omit<InputProps, 'size'> & {
|
|
|
12
11
|
*/
|
|
13
12
|
passwordVisible?: boolean;
|
|
14
13
|
/**
|
|
15
|
-
*
|
|
14
|
+
* Управление текстом подсказки
|
|
16
15
|
*/
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
* Размер компонента
|
|
22
|
-
* @description s, m, l, xl deprecated, используйте вместо них 48, 56, 64, 72 соответственно
|
|
23
|
-
*/
|
|
24
|
-
size?: Exclude<InputProps['size'], 40>;
|
|
25
|
-
/**
|
|
26
|
-
* Управление видимостью пароля (controlled)
|
|
27
|
-
*/
|
|
28
|
-
passwordVisible?: boolean | undefined;
|
|
16
|
+
passwordHint?: {
|
|
17
|
+
visible: string;
|
|
18
|
+
hidden: string;
|
|
19
|
+
};
|
|
29
20
|
/**
|
|
30
21
|
* Коллбэк при изменении видимости пароля
|
|
31
22
|
*/
|
|
32
|
-
onPasswordVisibleChange?: (
|
|
33
|
-
}
|
|
34
|
-
export
|
|
23
|
+
onPasswordVisibleChange?: (visible: boolean) => void;
|
|
24
|
+
};
|
|
25
|
+
export declare const PasswordInput: React.ForwardRefExoticComponent<Omit<PasswordInputProps, "ref"> & React.RefAttributes<HTMLInputElement>>;
|
package/moderncssm/component.js
CHANGED
|
@@ -16,7 +16,11 @@ const SIZE_TO_CLASSNAME_MAP = {
|
|
|
16
16
|
64: 'size-64',
|
|
17
17
|
72: 'size-72',
|
|
18
18
|
};
|
|
19
|
-
const PasswordInput = forwardRef(({ onPasswordVisibleChange, passwordVisible, disabled, colors, rightAddons, size = 48,
|
|
19
|
+
const PasswordInput = forwardRef(({ onPasswordVisibleChange, passwordVisible, disabled, colors, rightAddons, size = 48, passwordHint = {
|
|
20
|
+
visible: 'Скрыть',
|
|
21
|
+
hidden: 'Показать',
|
|
22
|
+
}, className, ...restProps }, ref) => {
|
|
23
|
+
const { visible, hidden } = passwordHint;
|
|
20
24
|
const uncontrolled = passwordVisible === undefined;
|
|
21
25
|
const [statePasswordVisible, setStatePasswordVisible] = useState(uncontrolled ? false : passwordVisible);
|
|
22
26
|
const handleButtonClick = useCallback(() => {
|
|
@@ -24,16 +28,15 @@ const PasswordInput = forwardRef(({ onPasswordVisibleChange, passwordVisible, di
|
|
|
24
28
|
onPasswordVisibleChange(!passwordVisible);
|
|
25
29
|
}
|
|
26
30
|
if (uncontrolled) {
|
|
27
|
-
setStatePasswordVisible((
|
|
31
|
+
setStatePasswordVisible((prevVisible) => !prevVisible);
|
|
28
32
|
}
|
|
29
33
|
}, [passwordVisible, uncontrolled, onPasswordVisibleChange]);
|
|
30
34
|
const isPasswordVisible = uncontrolled ? statePasswordVisible : passwordVisible;
|
|
31
35
|
return (React.createElement(Input, { ...restProps, disabled: disabled, type: isPasswordVisible ? 'text' : 'password', size: size, ref: ref, colors: colors, className: cn(className, styles[SIZE_TO_CLASSNAME_MAP[size]]), rightAddons: React.createElement(React.Fragment, null,
|
|
32
36
|
rightAddons,
|
|
33
|
-
React.createElement(IconButton, { className: styles.eye, colors: colors, view: 'secondary', size: 's', icon: isPasswordVisible ? EyeMIcon : EyeOffMIcon, onClick: handleButtonClick, disabled: disabled, title: isPasswordVisible
|
|
34
|
-
? 'Скрыть введённые цифры'
|
|
35
|
-
: 'Показать введённые цифры' })), addonsClassName: styles.addons, inputClassName: styles.input }));
|
|
37
|
+
React.createElement(IconButton, { className: styles.eye, colors: colors, view: 'secondary', size: 's', icon: isPasswordVisible ? EyeMIcon : EyeOffMIcon, onClick: handleButtonClick, disabled: disabled, title: isPasswordVisible ? visible : hidden })), addonsClassName: styles.addons, inputClassName: styles.input }));
|
|
36
38
|
});
|
|
37
39
|
PasswordInput.displayName = 'PasswordInput';
|
|
38
40
|
|
|
39
41
|
export { PasswordInput };
|
|
42
|
+
//# sourceMappingURL=component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.js","sources":["../src/component.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useState } from 'react';\nimport cn from 'classnames';\n\nimport { IconButton } from '@alfalab/core-components-icon-button';\nimport { Input, InputProps } from '@alfalab/core-components-input';\nimport { EyeMIcon } from '@alfalab/icons-glyph/EyeMIcon';\nimport { EyeOffMIcon } from '@alfalab/icons-glyph/EyeOffMIcon';\n\nimport styles from './index.module.css';\n\nexport type PasswordInputProps = Omit<InputProps, 'size'> & {\n /**\n * Размер компонента\n * @description s, m, l, xl deprecated, используйте вместо них 48, 56, 64, 72 соответственно\n */\n size?: Exclude<InputProps['size'], 40>;\n\n /**\n * Управление видимостью пароля (controlled)\n */\n passwordVisible?: boolean;\n\n /**\n * Управление текстом подсказки\n */\n passwordHint?: {\n visible: string;\n hidden: string;\n };\n\n /**\n * Коллбэк при изменении видимости пароля\n */\n onPasswordVisibleChange?: (visible: boolean) => void;\n};\n\nconst SIZE_TO_CLASSNAME_MAP = {\n s: 'size-48',\n m: 'size-56',\n l: 'size-64',\n xl: 'size-72',\n 48: 'size-48',\n 56: 'size-56',\n 64: 'size-64',\n 72: 'size-72',\n};\n\nexport const PasswordInput = forwardRef<HTMLInputElement, PasswordInputProps>(\n (\n {\n onPasswordVisibleChange,\n passwordVisible,\n disabled,\n colors,\n rightAddons,\n size = 48,\n passwordHint = {\n visible: 'Скрыть',\n hidden: 'Показать',\n },\n className,\n ...restProps\n },\n ref,\n ) => {\n const { visible, hidden } = passwordHint;\n const uncontrolled = passwordVisible === undefined;\n const [statePasswordVisible, setStatePasswordVisible] = useState(\n uncontrolled ? false : passwordVisible,\n );\n\n const handleButtonClick = useCallback(() => {\n if (onPasswordVisibleChange) {\n onPasswordVisibleChange(!passwordVisible);\n }\n\n if (uncontrolled) {\n setStatePasswordVisible((prevVisible) => !prevVisible);\n }\n }, [passwordVisible, uncontrolled, onPasswordVisibleChange]);\n\n const isPasswordVisible = uncontrolled ? statePasswordVisible : passwordVisible;\n\n return (\n <Input\n {...restProps}\n disabled={disabled}\n type={isPasswordVisible ? 'text' : 'password'}\n size={size}\n ref={ref}\n colors={colors}\n className={cn(className, styles[SIZE_TO_CLASSNAME_MAP[size]])}\n rightAddons={\n <React.Fragment>\n {rightAddons}\n <IconButton\n className={styles.eye}\n colors={colors}\n view='secondary'\n size='s'\n icon={isPasswordVisible ? EyeMIcon : EyeOffMIcon}\n onClick={handleButtonClick}\n disabled={disabled}\n title={isPasswordVisible ? visible : hidden}\n />\n </React.Fragment>\n }\n addonsClassName={styles.addons}\n inputClassName={styles.input}\n />\n );\n },\n);\n\nPasswordInput.displayName = 'PasswordInput';\n"],"names":[],"mappings":";;;;;;;;AAoCA,MAAM,qBAAqB,GAAG;AAC1B,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,SAAS;CAChB;MAEY,aAAa,GAAG,UAAU,CACnC,CACI,EACI,uBAAuB,EACvB,eAAe,EACf,QAAQ,EACR,MAAM,EACN,WAAW,EACX,IAAI,GAAG,EAAE,EACT,YAAY,GAAG;AACX,IAAA,OAAO,EAAE,QAAQ;AACjB,IAAA,MAAM,EAAE,UAAU;CACrB,EACD,SAAS,EACT,GAAG,SAAS,EACf,EACD,GAAG,KACH;AACA,IAAA,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,YAAY;AACxC,IAAA,MAAM,YAAY,GAAG,eAAe,KAAK,SAAS;AAClD,IAAA,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GAAG,QAAQ,CAC5D,YAAY,GAAG,KAAK,GAAG,eAAe,CACzC;AAED,IAAA,MAAM,iBAAiB,GAAG,WAAW,CAAC,MAAK;AACvC,QAAA,IAAI,uBAAuB,EAAE;AACzB,YAAA,uBAAuB,CAAC,CAAC,eAAe,CAAC;AAC5C;AAED,QAAA,IAAI,YAAY,EAAE;YACd,uBAAuB,CAAC,CAAC,WAAW,KAAK,CAAC,WAAW,CAAC;AACzD;KACJ,EAAE,CAAC,eAAe,EAAE,YAAY,EAAE,uBAAuB,CAAC,CAAC;IAE5D,MAAM,iBAAiB,GAAG,YAAY,GAAG,oBAAoB,GAAG,eAAe;IAE/E,QACI,KAAC,CAAA,aAAA,CAAA,KAAK,EACE,EAAA,GAAA,SAAS,EACb,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,iBAAiB,GAAG,MAAM,GAAG,UAAU,EAC7C,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,EAC7D,WAAW,EACP,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,QAAQ,EAAA,IAAA;YACV,WAAW;AACZ,YAAA,KAAA,CAAA,aAAA,CAAC,UAAU,EAAA,EACP,SAAS,EAAE,MAAM,CAAC,GAAG,EACrB,MAAM,EAAE,MAAM,EACd,IAAI,EAAC,WAAW,EAChB,IAAI,EAAC,GAAG,EACR,IAAI,EAAE,iBAAiB,GAAG,QAAQ,GAAG,WAAW,EAChD,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,iBAAiB,GAAG,OAAO,GAAG,MAAM,EAC7C,CAAA,CACW,EAErB,eAAe,EAAE,MAAM,CAAC,MAAM,EAC9B,cAAc,EAAE,MAAM,CAAC,KAAK,EAAA,CAC9B;AAEV,CAAC;AAGL,aAAa,CAAC,WAAW,GAAG,eAAe;;;;"}
|
package/moderncssm/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from
|
|
1
|
+
export * from './component';
|
package/moderncssm/index.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alfalab/core-components-password-input",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.8.1-snapshot-f57d3d0",
|
|
4
4
|
"description": "Input password",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"license": "MIT",
|
|
@@ -16,12 +16,12 @@
|
|
|
16
16
|
"react-dom": "^16.9.0 || ^17.0.1 || ^18.0.0"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@alfalab/core-components-icon-button": "
|
|
20
|
-
"@alfalab/core-components-input": "
|
|
19
|
+
"@alfalab/core-components-icon-button": "6.11.11-snapshot-f57d3d0",
|
|
20
|
+
"@alfalab/core-components-input": "15.5.5-snapshot-f57d3d0",
|
|
21
21
|
"@alfalab/icons-glyph": "^2.210.0",
|
|
22
22
|
"classnames": "^2.5.1",
|
|
23
23
|
"tslib": "^2.4.0"
|
|
24
24
|
},
|
|
25
|
-
"themesVersion": "
|
|
26
|
-
"varsVersion": "9.
|
|
25
|
+
"themesVersion": "14.0.0-snapshot-f57d3d0",
|
|
26
|
+
"varsVersion": "9.20.1-snapshot-f57d3d0"
|
|
27
27
|
}
|
package/src/component.tsx
CHANGED
|
@@ -20,6 +20,14 @@ export type PasswordInputProps = Omit<InputProps, 'size'> & {
|
|
|
20
20
|
*/
|
|
21
21
|
passwordVisible?: boolean;
|
|
22
22
|
|
|
23
|
+
/**
|
|
24
|
+
* Управление текстом подсказки
|
|
25
|
+
*/
|
|
26
|
+
passwordHint?: {
|
|
27
|
+
visible: string;
|
|
28
|
+
hidden: string;
|
|
29
|
+
};
|
|
30
|
+
|
|
23
31
|
/**
|
|
24
32
|
* Коллбэк при изменении видимости пароля
|
|
25
33
|
*/
|
|
@@ -46,11 +54,16 @@ export const PasswordInput = forwardRef<HTMLInputElement, PasswordInputProps>(
|
|
|
46
54
|
colors,
|
|
47
55
|
rightAddons,
|
|
48
56
|
size = 48,
|
|
57
|
+
passwordHint = {
|
|
58
|
+
visible: 'Скрыть',
|
|
59
|
+
hidden: 'Показать',
|
|
60
|
+
},
|
|
49
61
|
className,
|
|
50
62
|
...restProps
|
|
51
63
|
},
|
|
52
64
|
ref,
|
|
53
65
|
) => {
|
|
66
|
+
const { visible, hidden } = passwordHint;
|
|
54
67
|
const uncontrolled = passwordVisible === undefined;
|
|
55
68
|
const [statePasswordVisible, setStatePasswordVisible] = useState(
|
|
56
69
|
uncontrolled ? false : passwordVisible,
|
|
@@ -62,7 +75,7 @@ export const PasswordInput = forwardRef<HTMLInputElement, PasswordInputProps>(
|
|
|
62
75
|
}
|
|
63
76
|
|
|
64
77
|
if (uncontrolled) {
|
|
65
|
-
setStatePasswordVisible((
|
|
78
|
+
setStatePasswordVisible((prevVisible) => !prevVisible);
|
|
66
79
|
}
|
|
67
80
|
}, [passwordVisible, uncontrolled, onPasswordVisibleChange]);
|
|
68
81
|
|
|
@@ -88,11 +101,7 @@ export const PasswordInput = forwardRef<HTMLInputElement, PasswordInputProps>(
|
|
|
88
101
|
icon={isPasswordVisible ? EyeMIcon : EyeOffMIcon}
|
|
89
102
|
onClick={handleButtonClick}
|
|
90
103
|
disabled={disabled}
|
|
91
|
-
title={
|
|
92
|
-
isPasswordVisible
|
|
93
|
-
? 'Скрыть введённые цифры'
|
|
94
|
-
: 'Показать введённые цифры'
|
|
95
|
-
}
|
|
104
|
+
title={isPasswordVisible ? visible : hidden}
|
|
96
105
|
/>
|
|
97
106
|
</React.Fragment>
|
|
98
107
|
}
|