@toptal/picasso-forms 47.1.1 → 47.1.2

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.
@@ -9,7 +9,7 @@ var __rest = (this && this.__rest) || function (s, e) {
9
9
  }
10
10
  return t;
11
11
  };
12
- import React, { useState, useCallback } from 'react';
12
+ import React, { useEffect, useState, useCallback } from 'react';
13
13
  import { FieldRequirements } from '@toptal/picasso';
14
14
  import { validators } from '../utils';
15
15
  import FieldLabel from '../FieldLabel';
@@ -31,11 +31,24 @@ const validatePassword = (value) => {
31
31
  };
32
32
  export const PasswordInput = (_a) => {
33
33
  var { validate, hideRequirements } = _a, rest = __rest(_a, ["validate", "hideRequirements"]);
34
- const [showContent, setShowContent] = useState(false);
34
+ const [focused, setFocused] = useState(false);
35
+ const [showRequirements, setShowRequirements] = useState(false);
36
+ useEffect(() => {
37
+ if (!focused) {
38
+ // Hide the requirements after a short delay
39
+ const timeout = setTimeout(() => {
40
+ setShowRequirements(false);
41
+ }, ANIMATION_TIMEOUT);
42
+ return () => {
43
+ clearTimeout(timeout);
44
+ };
45
+ }
46
+ setShowRequirements(true);
47
+ }, [focused]);
35
48
  const validationsObject = hideRequirements
36
49
  ? validate
37
50
  : composeValidators([validatePassword, validate]);
38
- const renderFieldRequirements = ({ value, error }) => (React.createElement(FieldRequirements, { value: value, open: showContent, error: error, description: 'Please make sure that your password contains:', timeout: ANIMATION_TIMEOUT, requirements: [
51
+ const renderFieldRequirements = ({ value, error }) => (React.createElement(FieldRequirements, { value: value, open: showRequirements, error: error, description: 'Please make sure that your password contains:', timeout: ANIMATION_TIMEOUT, requirements: [
39
52
  {
40
53
  message: 'At least 8 characters',
41
54
  validator: passwordValidators.atLeastEightCharacters,
@@ -58,13 +71,10 @@ export const PasswordInput = (_a) => {
58
71
  },
59
72
  ] }));
60
73
  const handleShowContent = useCallback(() => {
61
- setShowContent(true);
74
+ setFocused(true);
62
75
  }, []);
63
76
  const handleHideContent = useCallback(() => {
64
- // Hide the requirements after a short delay
65
- setTimeout(() => {
66
- setShowContent(false);
67
- }, ANIMATION_TIMEOUT);
77
+ setFocused(false);
68
78
  }, []);
69
79
  return (React.createElement(InputField, Object.assign({}, rest, { validate: validationsObject, renderFieldRequirements: !hideRequirements ? renderFieldRequirements : undefined, label: rest.label ? (React.createElement(FieldLabel, { name: rest.name, required: rest.required, label: rest.label, titleCase: rest.titleCase })) : null }), (inputProps) => {
70
80
  return (React.createElement(FieldRenderer, Object.assign({}, inputProps, { onHideContent: handleHideContent, onShowContent: handleShowContent })));
@@ -1 +1 @@
1
- {"version":3,"file":"PasswordInput.js","sourceRoot":"","sources":["../../src/PasswordInput/PasswordInput.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PasswordInput.js","sourceRoot":"","sources":["../../src/PasswordInput/PasswordInput.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@toptal/picasso-forms",
3
- "version": "47.1.1",
3
+ "version": "47.1.2",
4
4
  "description": "Picasso form components",
5
5
  "author": "Toptal",
6
6
  "homepage": "https://github.com/toptal/picasso/tree/master/packages/picasso-forms#readme",