@toptal/picasso-forms 6.0.4 → 9.0.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/Input/Input.js +19 -20
- package/Input/Input.js.map +1 -1
- package/index.d.ts +2 -1
- package/index.js +0 -1
- package/index.js.map +1 -1
- package/package.json +8 -9
- package/Input/utils/get-input-name.d.ts +0 -2
- package/Input/utils/get-input-name.js +0 -9
- package/Input/utils/get-input-name.js.map +0 -1
- package/Input/utils/get-input-name.test.d.ts +0 -1
- package/Input/utils/get-input-name.test.js +0 -12
- package/Input/utils/get-input-name.test.js.map +0 -1
package/Input/Input.js
CHANGED
|
@@ -1,25 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
var t = {};
|
|
3
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
4
|
-
t[p] = s[p];
|
|
5
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
8
|
-
t[p[i]] = s[p[i]];
|
|
9
|
-
}
|
|
10
|
-
return t;
|
|
11
|
-
};
|
|
12
|
-
import React from 'react';
|
|
1
|
+
import React, { useEffect } from 'react';
|
|
13
2
|
import { Input as PicassoInput } from '@toptal/picasso';
|
|
14
3
|
import FieldWrapper from '../FieldWrapper';
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}
|
|
4
|
+
const warnAutocompleteDisabledInput = (name) => {
|
|
5
|
+
const autocompleteDisabled = name && /^(((field|input)(_|-)?\d+)|tan|otp|title|captcha)$/.test(name);
|
|
6
|
+
if (autocompleteDisabled) {
|
|
7
|
+
console.warn(`
|
|
8
|
+
In Chromium-based browsers, autocomplete might be disabled for input[name="${name}"].
|
|
9
|
+
Known bug: https://bugs.chromium.org/p/chromium/issues/detail?id=1255609
|
|
10
|
+
`);
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
export const Input = React.forwardRef((props, ref) => {
|
|
14
|
+
useEffect(() => {
|
|
15
|
+
// TODO: remove this console.warn completely when Chrome fixes autocomplete issue
|
|
16
|
+
// Regex is taken from https://source.chromium.org/chromium/chromium/src/+/main:components/autofill/core/browser/autocomplete_history_manager.cc;l=53;drc=1d2260f9ed19c755db1631b7fb9b1ba216b323dc
|
|
17
|
+
// according to https://bugs.chromium.org/p/chromium/issues/detail?id=1255609
|
|
18
|
+
warnAutocompleteDisabledInput(props.name);
|
|
19
|
+
}, [props.name]);
|
|
20
|
+
return (React.createElement(FieldWrapper, Object.assign({}, props), (inputProps) => React.createElement(PicassoInput, Object.assign({}, inputProps, { ref: ref }))));
|
|
21
|
+
});
|
|
23
22
|
Input.defaultProps = {};
|
|
24
23
|
Input.displayName = 'Input';
|
|
25
24
|
export default Input;
|
package/Input/Input.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.js","sourceRoot":"","sources":["../../src/Input/Input.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Input.js","sourceRoot":"","sources":["../../src/Input/Input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACxC,OAAO,EAAE,KAAK,IAAI,YAAY,EAAc,MAAM,iBAAiB,CAAA;AAEnE,OAAO,YAA4B,MAAM,iBAAiB,CAAA;AAQ1D,MAAM,6BAA6B,GAAG,CAAC,IAAa,EAAE,EAAE;IACtD,MAAM,oBAAoB,GACxB,IAAI,IAAI,oDAAoD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEzE,IAAI,oBAAoB,EAAE;QACxB,OAAO,CAAC,IAAI,CAAC;6EAC4D,IAAI;;KAE5E,CAAC,CAAA;KACH;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAA0B,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IAC5E,SAAS,CAAC,GAAG,EAAE;QACb,iFAAiF;QACjF,kMAAkM;QAClM,6EAA6E;QAC7E,6BAA6B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC3C,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;IAEhB,OAAO,CACL,oBAAC,YAAY,oBAAqB,KAAK,GACpC,CAAC,UAAsB,EAAE,EAAE,CAAC,oBAAC,YAAY,oBAAK,UAAU,IAAE,GAAG,EAAE,GAAG,IAAI,CAC1D,CAChB,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,KAAK,CAAC,YAAY,GAAG,EAAE,CAAA;AAEvB,KAAK,CAAC,WAAW,GAAG,OAAO,CAAA;AAE3B,eAAe,KAAK,CAAA"}
|
package/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export type { FormApi, MutableState, AnyObject, FieldValidator, SubmissionErrors, Config } from 'final-form';
|
|
2
|
+
export { FORM_ERROR, setIn } from 'final-form';
|
|
2
3
|
export { useForm, useField, useFormState, FormSpy, Form as FinalForm, Field as FinalField } from 'react-final-form';
|
|
3
4
|
export type { FieldMetaState, FieldRenderProps, FormRenderProps, FieldProps, FormProps, FieldInputProps } from 'react-final-form';
|
|
4
5
|
export { default as arrayMutators } from 'final-form-arrays';
|
package/index.js
CHANGED
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,KAAK,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAEnH,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAEnE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAEzF,wBAAwB;AACxB,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAA;AACxC,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAExD,qEAAqE"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@toptal/picasso-forms",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "9.0.0",
|
|
4
4
|
"description": "Picasso form components",
|
|
5
5
|
"author": "Toptal",
|
|
6
6
|
"homepage": "https://github.com/toptal/picasso/tree/master/packages/picasso-forms#readme",
|
|
@@ -8,23 +8,23 @@
|
|
|
8
8
|
"main": "index.js",
|
|
9
9
|
"module": "index.js",
|
|
10
10
|
"publishConfig": {
|
|
11
|
-
"access": "public"
|
|
11
|
+
"access": "public",
|
|
12
|
+
"directory": "dist-package"
|
|
12
13
|
},
|
|
13
14
|
"repository": {
|
|
14
15
|
"type": "git",
|
|
15
16
|
"url": "git+https://github.com/toptal/picasso.git"
|
|
16
17
|
},
|
|
17
18
|
"scripts": {
|
|
18
|
-
"build:package": "cross-env NODE_ENV=production node ../../bin/build.js --tsConfig=./tsconfig.build.json"
|
|
19
|
-
"prepublishOnly": "../../bin/prepublish.js"
|
|
19
|
+
"build:package": "cross-env NODE_ENV=production node ../../bin/build.js --tsConfig=./tsconfig.build.json"
|
|
20
20
|
},
|
|
21
21
|
"bugs": {
|
|
22
22
|
"url": "https://github.com/toptal/picasso/issues"
|
|
23
23
|
},
|
|
24
24
|
"peerDependencies": {
|
|
25
|
-
"@toptal/picasso": "^
|
|
26
|
-
"@toptal/picasso-lab": "^
|
|
27
|
-
"@toptal/picasso-shared": "^7",
|
|
25
|
+
"@toptal/picasso": "^13.7.0",
|
|
26
|
+
"@toptal/picasso-lab": "^12.0.0",
|
|
27
|
+
"@toptal/picasso-shared": "^7.0.2",
|
|
28
28
|
"react": "^16.12.0",
|
|
29
29
|
"react-dom": "^16.12.0"
|
|
30
30
|
},
|
|
@@ -40,6 +40,5 @@
|
|
|
40
40
|
"@types/classnames": "^2.3.1",
|
|
41
41
|
"@types/react-final-form-listeners": "^1.0.0",
|
|
42
42
|
"storybook-readme": "^5.0.9"
|
|
43
|
-
}
|
|
44
|
-
"gitHead": "a167adf3dd929f357f80d33d86f22fd70f8a8366"
|
|
43
|
+
}
|
|
45
44
|
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
const NAMES_NEED_POSTFIX = ['field', 'input', 'title'];
|
|
2
|
-
const getInputName = (name) => {
|
|
3
|
-
if (name && NAMES_NEED_POSTFIX.includes(name)) {
|
|
4
|
-
return `${name}-picasso`;
|
|
5
|
-
}
|
|
6
|
-
return name;
|
|
7
|
-
};
|
|
8
|
-
export default getInputName;
|
|
9
|
-
//# sourceMappingURL=get-input-name.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-input-name.js","sourceRoot":"","sources":["../../../src/Input/utils/get-input-name.ts"],"names":[],"mappings":"AAAA,MAAM,kBAAkB,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;AAEtD,MAAM,YAAY,GAAG,CAAC,IAAa,EAAE,EAAE;IACrC,IAAI,IAAI,IAAI,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QAC7C,OAAO,GAAG,IAAI,UAAU,CAAA;KACzB;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,eAAe,YAAY,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import getInputName from './get-input-name';
|
|
2
|
-
describe('#getInputName', () => {
|
|
3
|
-
it.each(['title', 'field', 'input'])('adds postfix to "%s"', name => {
|
|
4
|
-
expect(getInputName(name)).toBe(`${name}-picasso`);
|
|
5
|
-
});
|
|
6
|
-
it('returns all other names', () => {
|
|
7
|
-
expect(getInputName('name')).toBe('name');
|
|
8
|
-
expect(getInputName('email')).toBe('email');
|
|
9
|
-
expect(getInputName(undefined)).toBeUndefined();
|
|
10
|
-
});
|
|
11
|
-
});
|
|
12
|
-
//# sourceMappingURL=get-input-name.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-input-name.test.js","sourceRoot":"","sources":["../../../src/Input/utils/get-input-name.test.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,kBAAkB,CAAA;AAE3C,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAU,CAAC,CAC3C,sBAAsB,EACtB,IAAI,CAAC,EAAE;QACL,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,UAAU,CAAC,CAAA;IACpD,CAAC,CACF,CAAA;IAED,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACzC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC3C,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,EAAE,CAAA;IACjD,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|