@alfalab/core-components-password-input 5.7.3 → 5.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/component.d.ts CHANGED
@@ -11,6 +11,13 @@ type PasswordInputProps = Omit<InputProps, 'size'> & {
11
11
  * Управление видимостью пароля (controlled)
12
12
  */
13
13
  passwordVisible?: boolean;
14
+ /**
15
+ * Управление текстом подсказки
16
+ */
17
+ passwordHint?: {
18
+ visible: string;
19
+ hidden: string;
20
+ };
14
21
  /**
15
22
  * Коллбэк при изменении видимости пароля
16
23
  */
@@ -26,6 +33,13 @@ declare const PasswordInput: React.ForwardRefExoticComponent<Omit<InputProps, "s
26
33
  * Управление видимостью пароля (controlled)
27
34
  */
28
35
  passwordVisible?: boolean | undefined;
36
+ /**
37
+ * Управление текстом подсказки
38
+ */
39
+ passwordHint?: {
40
+ visible: string;
41
+ hidden: string;
42
+ } | undefined;
29
43
  /**
30
44
  * Коллбэк при изменении видимости пароля
31
45
  */
package/component.js CHANGED
@@ -15,7 +15,7 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
15
15
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
16
16
  var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
17
17
 
18
- var styles = {"eye":"password-input__eye_1w9ni","size-72":"password-input__size-72_1w9ni","addons":"password-input__addons_1w9ni"};
18
+ var styles = {"eye":"password-input__eye_6el77","size-72":"password-input__size-72_6el77","addons":"password-input__addons_6el77"};
19
19
  require('./index.css')
20
20
 
21
21
  var SIZE_TO_CLASSNAME_MAP = {
@@ -29,23 +29,25 @@ var SIZE_TO_CLASSNAME_MAP = {
29
29
  72: 'size-72',
30
30
  };
31
31
  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, className = _a.className, restProps = tslib.__rest(_a, ["onPasswordVisibleChange", "passwordVisible", "disabled", "colors", "rightAddons", "size", "className"]);
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, _c = _a.passwordHint, passwordHint = _c === void 0 ? {
33
+ visible: 'Скрыть',
34
+ hidden: 'Показать',
35
+ } : _c, className = _a.className, restProps = tslib.__rest(_a, ["onPasswordVisibleChange", "passwordVisible", "disabled", "colors", "rightAddons", "size", "passwordHint", "className"]);
36
+ var visible = passwordHint.visible, hidden = passwordHint.hidden;
33
37
  var uncontrolled = passwordVisible === undefined;
34
- var _c = React.useState(uncontrolled ? false : passwordVisible), statePasswordVisible = _c[0], setStatePasswordVisible = _c[1];
38
+ var _d = React.useState(uncontrolled ? false : passwordVisible), statePasswordVisible = _d[0], setStatePasswordVisible = _d[1];
35
39
  var handleButtonClick = React.useCallback(function () {
36
40
  if (onPasswordVisibleChange) {
37
41
  onPasswordVisibleChange(!passwordVisible);
38
42
  }
39
43
  if (uncontrolled) {
40
- setStatePasswordVisible(function (visible) { return !visible; });
44
+ setStatePasswordVisible(function (prevVisible) { return !prevVisible; });
41
45
  }
42
46
  }, [passwordVisible, uncontrolled, onPasswordVisibleChange]);
43
47
  var isPasswordVisible = uncontrolled ? statePasswordVisible : passwordVisible;
44
48
  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, styles[SIZE_TO_CLASSNAME_MAP[size]]), rightAddons: React__default.default.createElement(React__default.default.Fragment, null,
45
49
  rightAddons,
46
- React__default.default.createElement(coreComponentsIconButton.IconButton, { className: styles.eye, colors: colors, view: 'secondary', size: 's', icon: isPasswordVisible ? EyeMIcon.EyeMIcon : EyeOffMIcon.EyeOffMIcon, onClick: handleButtonClick, disabled: disabled, title: isPasswordVisible
47
- ? 'Скрыть введённые цифры'
48
- : 'Показать введённые цифры' })), addonsClassName: styles.addons, inputClassName: styles.input })));
50
+ React__default.default.createElement(coreComponentsIconButton.IconButton, { className: styles.eye, colors: colors, view: 'secondary', size: 's', icon: isPasswordVisible ? EyeMIcon.EyeMIcon : EyeOffMIcon.EyeOffMIcon, onClick: handleButtonClick, disabled: disabled, title: isPasswordVisible ? visible : hidden })), addonsClassName: styles.addons, inputClassName: styles.input })));
49
51
  });
50
52
  PasswordInput.displayName = 'PasswordInput';
51
53
 
@@ -11,6 +11,13 @@ type PasswordInputProps = Omit<InputProps, 'size'> & {
11
11
  * Управление видимостью пароля (controlled)
12
12
  */
13
13
  passwordVisible?: boolean;
14
+ /**
15
+ * Управление текстом подсказки
16
+ */
17
+ passwordHint?: {
18
+ visible: string;
19
+ hidden: string;
20
+ };
14
21
  /**
15
22
  * Коллбэк при изменении видимости пароля
16
23
  */
@@ -26,6 +33,13 @@ declare const PasswordInput: React.ForwardRefExoticComponent<Omit<InputProps, "s
26
33
  * Управление видимостью пароля (controlled)
27
34
  */
28
35
  passwordVisible?: boolean | undefined;
36
+ /**
37
+ * Управление текстом подсказки
38
+ */
39
+ passwordHint?: {
40
+ visible: string;
41
+ hidden: string;
42
+ } | undefined;
29
43
  /**
30
44
  * Коллбэк при изменении видимости пароля
31
45
  */
package/cssm/component.js CHANGED
@@ -28,23 +28,25 @@ 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, className = _a.className, restProps = tslib.__rest(_a, ["onPasswordVisibleChange", "passwordVisible", "disabled", "colors", "rightAddons", "size", "className"]);
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 _c = React.useState(uncontrolled ? false : passwordVisible), statePasswordVisible = _c[0], setStatePasswordVisible = _c[1];
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 (visible) { return !visible; });
43
+ setStatePasswordVisible(function (prevVisible) { return !prevVisible; });
40
44
  }
41
45
  }, [passwordVisible, uncontrolled, onPasswordVisibleChange]);
42
46
  var isPasswordVisible = uncontrolled ? statePasswordVisible : passwordVisible;
43
47
  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, 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(coreComponentsIconButton.IconButton, { className: styles__default.default.eye, colors: colors, view: 'secondary', size: 's', icon: isPasswordVisible ? EyeMIcon.EyeMIcon : EyeOffMIcon.EyeOffMIcon, onClick: handleButtonClick, disabled: disabled, title: isPasswordVisible
46
- ? 'Скрыть введённые цифры'
47
- : 'Показать введённые цифры' })), addonsClassName: styles__default.default.addons, inputClassName: styles__default.default.input })));
49
+ React__default.default.createElement(coreComponentsIconButton.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
 
@@ -11,6 +11,13 @@ type PasswordInputProps = Omit<InputProps, 'size'> & {
11
11
  * Управление видимостью пароля (controlled)
12
12
  */
13
13
  passwordVisible?: boolean;
14
+ /**
15
+ * Управление текстом подсказки
16
+ */
17
+ passwordHint?: {
18
+ visible: string;
19
+ hidden: string;
20
+ };
14
21
  /**
15
22
  * Коллбэк при изменении видимости пароля
16
23
  */
@@ -26,6 +33,13 @@ declare const PasswordInput: React.ForwardRefExoticComponent<Omit<InputProps, "s
26
33
  * Управление видимостью пароля (controlled)
27
34
  */
28
35
  passwordVisible?: boolean | undefined;
36
+ /**
37
+ * Управление текстом подсказки
38
+ */
39
+ passwordHint?: {
40
+ visible: string;
41
+ hidden: string;
42
+ } | undefined;
29
43
  /**
30
44
  * Коллбэк при изменении видимости пароля
31
45
  */
package/esm/component.js CHANGED
@@ -6,7 +6,7 @@ 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
8
 
9
- var styles = {"eye":"password-input__eye_1w9ni","size-72":"password-input__size-72_1w9ni","addons":"password-input__addons_1w9ni"};
9
+ var styles = {"eye":"password-input__eye_6el77","size-72":"password-input__size-72_6el77","addons":"password-input__addons_6el77"};
10
10
  require('./index.css')
11
11
 
12
12
  var SIZE_TO_CLASSNAME_MAP = {
@@ -20,23 +20,25 @@ var SIZE_TO_CLASSNAME_MAP = {
20
20
  72: 'size-72',
21
21
  };
22
22
  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, className = _a.className, restProps = __rest(_a, ["onPasswordVisibleChange", "passwordVisible", "disabled", "colors", "rightAddons", "size", "className"]);
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, _c = _a.passwordHint, passwordHint = _c === void 0 ? {
24
+ visible: 'Скрыть',
25
+ hidden: 'Показать',
26
+ } : _c, className = _a.className, restProps = __rest(_a, ["onPasswordVisibleChange", "passwordVisible", "disabled", "colors", "rightAddons", "size", "passwordHint", "className"]);
27
+ var visible = passwordHint.visible, hidden = passwordHint.hidden;
24
28
  var uncontrolled = passwordVisible === undefined;
25
- var _c = useState(uncontrolled ? false : passwordVisible), statePasswordVisible = _c[0], setStatePasswordVisible = _c[1];
29
+ var _d = useState(uncontrolled ? false : passwordVisible), statePasswordVisible = _d[0], setStatePasswordVisible = _d[1];
26
30
  var handleButtonClick = useCallback(function () {
27
31
  if (onPasswordVisibleChange) {
28
32
  onPasswordVisibleChange(!passwordVisible);
29
33
  }
30
34
  if (uncontrolled) {
31
- setStatePasswordVisible(function (visible) { return !visible; });
35
+ setStatePasswordVisible(function (prevVisible) { return !prevVisible; });
32
36
  }
33
37
  }, [passwordVisible, uncontrolled, onPasswordVisibleChange]);
34
38
  var isPasswordVisible = uncontrolled ? statePasswordVisible : passwordVisible;
35
39
  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
40
  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 })));
41
+ 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
42
  });
41
43
  PasswordInput.displayName = 'PasswordInput';
42
44
 
package/esm/index.css CHANGED
@@ -1,4 +1,4 @@
1
- /* hash: 1td3m */
1
+ /* hash: 183z9 */
2
2
  :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 */
3
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
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 */
@@ -24,12 +24,12 @@
24
24
  --gap-4: var(--gap-2xs);
25
25
  } :root {
26
26
  } :root {
27
- } /* сбрасывает синюю подсветку при нажатии */ .password-input__eye_1w9ni:last-child {
27
+ } /* сбрасывает синюю подсветку при нажатии */ .password-input__eye_6el77:last-child {
28
28
  height: 100%;
29
- } .password-input__size-72_1w9ni .password-input__addons_1w9ni {
29
+ } .password-input__size-72_6el77 .password-input__addons_6el77 {
30
30
  padding-right: var(--gap-0);
31
- } .password-input__size-72_1w9ni .password-input__eye_1w9ni {
31
+ } .password-input__size-72_6el77 .password-input__eye_6el77 {
32
32
  margin-left: var(--gap-4);
33
- } .password-input__addons_1w9ni {
33
+ } .password-input__addons_6el77 {
34
34
  padding-right: var(--gap-0);
35
35
  }
package/index.css CHANGED
@@ -1,4 +1,4 @@
1
- /* hash: 1td3m */
1
+ /* hash: 183z9 */
2
2
  :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 */
3
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
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 */
@@ -24,12 +24,12 @@
24
24
  --gap-4: var(--gap-2xs);
25
25
  } :root {
26
26
  } :root {
27
- } /* сбрасывает синюю подсветку при нажатии */ .password-input__eye_1w9ni:last-child {
27
+ } /* сбрасывает синюю подсветку при нажатии */ .password-input__eye_6el77:last-child {
28
28
  height: 100%;
29
- } .password-input__size-72_1w9ni .password-input__addons_1w9ni {
29
+ } .password-input__size-72_6el77 .password-input__addons_6el77 {
30
30
  padding-right: var(--gap-0);
31
- } .password-input__size-72_1w9ni .password-input__eye_1w9ni {
31
+ } .password-input__size-72_6el77 .password-input__eye_6el77 {
32
32
  margin-left: var(--gap-4);
33
- } .password-input__addons_1w9ni {
33
+ } .password-input__addons_6el77 {
34
34
  padding-right: var(--gap-0);
35
35
  }
@@ -11,6 +11,13 @@ type PasswordInputProps = Omit<InputProps, 'size'> & {
11
11
  * Управление видимостью пароля (controlled)
12
12
  */
13
13
  passwordVisible?: boolean;
14
+ /**
15
+ * Управление текстом подсказки
16
+ */
17
+ passwordHint?: {
18
+ visible: string;
19
+ hidden: string;
20
+ };
14
21
  /**
15
22
  * Коллбэк при изменении видимости пароля
16
23
  */
@@ -26,6 +33,13 @@ declare const PasswordInput: React.ForwardRefExoticComponent<Omit<InputProps, "s
26
33
  * Управление видимостью пароля (controlled)
27
34
  */
28
35
  passwordVisible?: boolean | undefined;
36
+ /**
37
+ * Управление текстом подсказки
38
+ */
39
+ passwordHint?: {
40
+ visible: string;
41
+ hidden: string;
42
+ } | undefined;
29
43
  /**
30
44
  * Коллбэк при изменении видимости пароля
31
45
  */
@@ -5,7 +5,7 @@ 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
7
 
8
- const styles = {"eye":"password-input__eye_1w9ni","size-72":"password-input__size-72_1w9ni","addons":"password-input__addons_1w9ni"};
8
+ const styles = {"eye":"password-input__eye_6el77","size-72":"password-input__size-72_6el77","addons":"password-input__addons_6el77"};
9
9
  require('./index.css')
10
10
 
11
11
  const SIZE_TO_CLASSNAME_MAP = {
@@ -18,7 +18,11 @@ const SIZE_TO_CLASSNAME_MAP = {
18
18
  64: 'size-64',
19
19
  72: 'size-72',
20
20
  };
21
- const PasswordInput = forwardRef(({ onPasswordVisibleChange, passwordVisible, disabled, colors, rightAddons, size = 48, className, ...restProps }, ref) => {
21
+ const PasswordInput = forwardRef(({ onPasswordVisibleChange, passwordVisible, disabled, colors, rightAddons, size = 48, passwordHint = {
22
+ visible: 'Скрыть',
23
+ hidden: 'Показать',
24
+ }, className, ...restProps }, ref) => {
25
+ const { visible, hidden } = passwordHint;
22
26
  const uncontrolled = passwordVisible === undefined;
23
27
  const [statePasswordVisible, setStatePasswordVisible] = useState(uncontrolled ? false : passwordVisible);
24
28
  const handleButtonClick = useCallback(() => {
@@ -26,15 +30,13 @@ const PasswordInput = forwardRef(({ onPasswordVisibleChange, passwordVisible, di
26
30
  onPasswordVisibleChange(!passwordVisible);
27
31
  }
28
32
  if (uncontrolled) {
29
- setStatePasswordVisible((visible) => !visible);
33
+ setStatePasswordVisible((prevVisible) => !prevVisible);
30
34
  }
31
35
  }, [passwordVisible, uncontrolled, onPasswordVisibleChange]);
32
36
  const isPasswordVisible = uncontrolled ? statePasswordVisible : passwordVisible;
33
37
  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
38
  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 }));
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 }));
38
40
  });
39
41
  PasswordInput.displayName = 'PasswordInput';
40
42
 
package/modern/index.css CHANGED
@@ -1,4 +1,4 @@
1
- /* hash: 1td3m */
1
+ /* hash: 183z9 */
2
2
  :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 */
3
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
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 */
@@ -24,12 +24,12 @@
24
24
  --gap-4: var(--gap-2xs);
25
25
  } :root {
26
26
  } :root {
27
- } /* сбрасывает синюю подсветку при нажатии */ .password-input__eye_1w9ni:last-child {
27
+ } /* сбрасывает синюю подсветку при нажатии */ .password-input__eye_6el77:last-child {
28
28
  height: 100%;
29
- } .password-input__size-72_1w9ni .password-input__addons_1w9ni {
29
+ } .password-input__size-72_6el77 .password-input__addons_6el77 {
30
30
  padding-right: var(--gap-0);
31
- } .password-input__size-72_1w9ni .password-input__eye_1w9ni {
31
+ } .password-input__size-72_6el77 .password-input__eye_6el77 {
32
32
  margin-left: var(--gap-4);
33
- } .password-input__addons_1w9ni {
33
+ } .password-input__addons_6el77 {
34
34
  padding-right: var(--gap-0);
35
35
  }
@@ -11,6 +11,13 @@ type PasswordInputProps = Omit<InputProps, 'size'> & {
11
11
  * Управление видимостью пароля (controlled)
12
12
  */
13
13
  passwordVisible?: boolean;
14
+ /**
15
+ * Управление текстом подсказки
16
+ */
17
+ passwordHint?: {
18
+ visible: string;
19
+ hidden: string;
20
+ };
14
21
  /**
15
22
  * Коллбэк при изменении видимости пароля
16
23
  */
@@ -26,6 +33,13 @@ declare const PasswordInput: React.ForwardRefExoticComponent<Omit<InputProps, "s
26
33
  * Управление видимостью пароля (controlled)
27
34
  */
28
35
  passwordVisible?: boolean | undefined;
36
+ /**
37
+ * Управление текстом подсказки
38
+ */
39
+ passwordHint?: {
40
+ visible: string;
41
+ hidden: string;
42
+ } | undefined;
29
43
  /**
30
44
  * Коллбэк при изменении видимости пароля
31
45
  */
@@ -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, className, ...restProps }, ref) => {
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,15 +28,13 @@ const PasswordInput = forwardRef(({ onPasswordVisibleChange, passwordVisible, di
24
28
  onPasswordVisibleChange(!passwordVisible);
25
29
  }
26
30
  if (uncontrolled) {
27
- setStatePasswordVisible((visible) => !visible);
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
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alfalab/core-components-password-input",
3
- "version": "5.7.3",
3
+ "version": "5.8.0",
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": "^6.11.9",
20
- "@alfalab/core-components-input": "^15.5.3",
19
+ "@alfalab/core-components-icon-button": "^6.11.10",
20
+ "@alfalab/core-components-input": "^15.5.4",
21
21
  "@alfalab/icons-glyph": "^2.210.0",
22
22
  "classnames": "^2.5.1",
23
23
  "tslib": "^2.4.0"
24
24
  },
25
25
  "themesVersion": "13.7.2",
26
- "varsVersion": "9.18.0"
26
+ "varsVersion": "9.19.0"
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((visible) => !visible);
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
  }