@toptal/picasso-forms 39.1.0 → 41.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/Autocomplete/Autocomplete.d.ts +1 -1
- package/Autocomplete/Autocomplete.js +19 -4
- package/Autocomplete/Autocomplete.js.map +1 -1
- package/ButtonCheckbox/ButtonCheckbox.d.ts +1 -1
- package/ButtonCheckbox/ButtonCheckbox.js +2 -2
- package/ButtonCheckbox/ButtonCheckbox.js.map +1 -1
- package/Checkbox/Checkbox.d.ts +2 -2
- package/Checkbox/Checkbox.js +6 -6
- package/Checkbox/Checkbox.js.map +1 -1
- package/CheckboxGroup/CheckboxGroup.d.ts +1 -1
- package/CheckboxGroup/CheckboxGroup.js +4 -3
- package/CheckboxGroup/CheckboxGroup.js.map +1 -1
- package/DatePicker/DatePicker.d.ts +1 -1
- package/DatePicker/DatePicker.js +19 -4
- package/DatePicker/DatePicker.js.map +1 -1
- package/Dropzone/Dropzone.d.ts +1 -1
- package/Dropzone/Dropzone.js +3 -2
- package/Dropzone/Dropzone.js.map +1 -1
- package/Field/Field.d.ts +29 -0
- package/Field/Field.js +88 -0
- package/Field/Field.js.map +1 -0
- package/Field/index.d.ts +2 -0
- package/Field/index.js +3 -0
- package/Field/index.js.map +1 -0
- package/FieldLabel/FieldLabel.d.ts +12 -0
- package/FieldLabel/FieldLabel.js +23 -0
- package/FieldLabel/FieldLabel.js.map +1 -0
- package/FieldLabel/index.d.ts +2 -0
- package/FieldLabel/index.js +3 -0
- package/FieldLabel/index.js.map +1 -0
- package/FieldWrapper/FieldWrapper.d.ts +4 -22
- package/FieldWrapper/FieldWrapper.js +5 -132
- package/FieldWrapper/FieldWrapper.js.map +1 -1
- package/FieldWrapper/index.d.ts +1 -0
- package/FileInput/FileInput.d.ts +1 -1
- package/FileInput/FileInput.js +3 -2
- package/FileInput/FileInput.js.map +1 -1
- package/Form/Form.d.ts +4 -4
- package/Form/FormContext.d.ts +2 -2
- package/Form/FormContext.js.map +1 -1
- package/Form/index.d.ts +1 -0
- package/Form/index.js +1 -0
- package/Form/index.js.map +1 -1
- package/FormConfig/FormConfig.d.ts +1 -0
- package/FormConfig/FormConfig.js.map +1 -1
- package/Input/Input.d.ts +2 -2
- package/Input/Input.js +15 -2
- package/Input/Input.js.map +1 -1
- package/Input/index.d.ts +1 -0
- package/Input/index.js +1 -0
- package/Input/index.js.map +1 -1
- package/InputField/InputField.d.ts +11 -0
- package/InputField/InputField.js +50 -0
- package/InputField/InputField.js.map +1 -0
- package/InputField/index.d.ts +1 -0
- package/InputField/index.js +2 -0
- package/InputField/index.js.map +1 -0
- package/NumberInput/NumberInput.d.ts +1 -1
- package/NumberInput/NumberInput.js +15 -3
- package/NumberInput/NumberInput.js.map +1 -1
- package/PasswordInput/FieldRenderer.d.ts +7 -0
- package/PasswordInput/FieldRenderer.js +27 -0
- package/PasswordInput/FieldRenderer.js.map +1 -0
- package/PasswordInput/PasswordInput.d.ts +1 -1
- package/PasswordInput/PasswordInput.js +15 -18
- package/PasswordInput/PasswordInput.js.map +1 -1
- package/RadioGroup/RadioGroup.d.ts +1 -1
- package/RadioGroup/RadioGroup.js +4 -7
- package/RadioGroup/RadioGroup.js.map +1 -1
- package/Rating/Rating.d.ts +2 -2
- package/Rating/Rating.js +9 -5
- package/Rating/Rating.js.map +1 -1
- package/Select/Select.d.ts +2 -2
- package/Select/Select.js +5 -4
- package/Select/Select.js.map +1 -1
- package/Switch/Switch.d.ts +1 -1
- package/Switch/Switch.js +3 -3
- package/Switch/Switch.js.map +1 -1
- package/TagSelector/TagSelector.d.ts +1 -1
- package/TagSelector/TagSelector.js +19 -4
- package/TagSelector/TagSelector.js.map +1 -1
- package/TimePicker/TimePicker.d.ts +1 -1
- package/TimePicker/TimePicker.js +21 -4
- package/TimePicker/TimePicker.js.map +1 -1
- package/index.d.ts +2 -1
- package/index.js.map +1 -1
- package/package.json +5 -3
- package/utils/index.d.ts +1 -0
- package/utils/index.js +1 -0
- package/utils/index.js.map +1 -1
- package/utils/use-field-validation/index.d.ts +1 -0
- package/utils/use-field-validation/index.js +2 -0
- package/utils/use-field-validation/index.js.map +1 -0
- package/utils/use-field-validation/use-field-validation.d.ts +12 -0
- package/utils/use-field-validation/use-field-validation.js +34 -0
- package/utils/use-field-validation/use-field-validation.js.map +1 -0
- package/utils/use-form-input-reset/index.d.ts +1 -0
- package/utils/use-form-input-reset/index.js +2 -0
- package/utils/use-form-input-reset/index.js.map +1 -0
- package/utils/use-form-input-reset/use-form-input-reset.d.ts +8 -0
- package/utils/use-form-input-reset/use-form-input-reset.js +17 -0
- package/utils/use-form-input-reset/use-form-input-reset.js.map +1 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AutocompleteProps } from '@toptal/picasso';
|
|
2
|
-
import { FieldProps } from '../
|
|
2
|
+
import { FieldProps } from '../Field';
|
|
3
3
|
export declare type Props = AutocompleteProps & FieldProps<AutocompleteProps['value']>;
|
|
4
4
|
export declare const Autocomplete: {
|
|
5
5
|
(props: Props): JSX.Element;
|
|
@@ -1,9 +1,24 @@
|
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
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
|
+
};
|
|
1
12
|
import React from 'react';
|
|
2
13
|
import { Autocomplete as PicassoAutocomplete } from '@toptal/picasso';
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
})
|
|
14
|
+
import FieldLabel from '../FieldLabel';
|
|
15
|
+
import InputField from '../InputField';
|
|
16
|
+
export const Autocomplete = (props) => {
|
|
17
|
+
const { label, titleCase } = props, rest = __rest(props, ["label", "titleCase"]);
|
|
18
|
+
return (React.createElement(InputField, Object.assign({}, rest, { label: label ? (React.createElement(FieldLabel, { name: props.name, required: props.required, label: label, titleCase: titleCase })) : null }), (inputProps) => {
|
|
19
|
+
return React.createElement(PicassoAutocomplete, Object.assign({}, inputProps));
|
|
20
|
+
}));
|
|
21
|
+
};
|
|
7
22
|
Autocomplete.displayName = 'Autocomplete';
|
|
8
23
|
export default Autocomplete;
|
|
9
24
|
//# sourceMappingURL=Autocomplete.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Autocomplete.js","sourceRoot":"","sources":["../../src/Autocomplete/Autocomplete.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EACL,YAAY,IAAI,mBAAmB,EAEpC,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"Autocomplete.js","sourceRoot":"","sources":["../../src/Autocomplete/Autocomplete.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EACL,YAAY,IAAI,mBAAmB,EAEpC,MAAM,iBAAiB,CAAA;AAGxB,OAAO,UAAU,MAAM,eAAe,CAAA;AACtC,OAAO,UAAU,MAAM,eAAe,CAAA;AAItC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAY,EAAE,EAAE;IAC3C,MAAM,EAAE,KAAK,EAAE,SAAS,KAAc,KAAK,EAAd,IAAI,UAAK,KAAK,EAArC,sBAA6B,CAAQ,CAAA;IAE3C,OAAO,CACL,oBAAC,UAAU,oBACL,IAAI,IACR,KAAK,EACH,KAAK,CAAC,CAAC,CAAC,CACN,oBAAC,UAAU,IACT,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,GACpB,CACH,CAAC,CAAC,CAAC,IAAI,KAGT,CAAC,UAA6B,EAAE,EAAE;QACjC,OAAO,oBAAC,mBAAmB,oBAAK,UAAU,EAAI,CAAA;IAChD,CAAC,CACU,CACd,CAAA;AACH,CAAC,CAAA;AAED,YAAY,CAAC,WAAW,GAAG,cAAc,CAAA;AAEzC,eAAe,YAAY,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ButtonCheckboxProps } from '@toptal/picasso';
|
|
2
|
-
import { FieldProps } from '../
|
|
2
|
+
import { FieldProps } from '../Field';
|
|
3
3
|
declare type CheckboxValue = ButtonCheckboxProps['value'] | ButtonCheckboxProps['checked'];
|
|
4
4
|
declare type CheckboxFormProps = Omit<ButtonCheckboxProps, 'requiredDecoration'> & {
|
|
5
5
|
required?: boolean;
|
|
@@ -12,7 +12,7 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
12
12
|
import React, { useContext } from 'react';
|
|
13
13
|
import { Button } from '@toptal/picasso';
|
|
14
14
|
import { Field } from 'react-final-form';
|
|
15
|
-
import
|
|
15
|
+
import PicassoField from '../Field';
|
|
16
16
|
import { CheckboxGroupContext } from '../CheckboxGroup';
|
|
17
17
|
const ButtonCheckbox = (_a) => {
|
|
18
18
|
var { name, value, required } = _a, restProps = __rest(_a, ["name", "value", "required"]);
|
|
@@ -30,7 +30,7 @@ const ButtonCheckbox = (_a) => {
|
|
|
30
30
|
return React.createElement(Button.Checkbox, Object.assign({}, restProps, restInput));
|
|
31
31
|
}));
|
|
32
32
|
}
|
|
33
|
-
return (React.createElement(
|
|
33
|
+
return (React.createElement(PicassoField, Object.assign({ type: 'checkbox', required: required }, restProps, {
|
|
34
34
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
35
35
|
name: name }), (input) => React.createElement(Button.Checkbox, Object.assign({}, input))));
|
|
36
36
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonCheckbox.js","sourceRoot":"","sources":["../../src/ButtonCheckbox/ButtonCheckbox.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AACzC,OAAO,EAAE,MAAM,EAAuB,MAAM,iBAAiB,CAAA;AAC7D,OAAO,EACL,KAAK,EAEN,MAAM,kBAAkB,CAAA;AAEzB,OAAO,YAA4B,MAAM,
|
|
1
|
+
{"version":3,"file":"ButtonCheckbox.js","sourceRoot":"","sources":["../../src/ButtonCheckbox/ButtonCheckbox.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AACzC,OAAO,EAAE,MAAM,EAAuB,MAAM,iBAAiB,CAAA;AAC7D,OAAO,EACL,KAAK,EAEN,MAAM,kBAAkB,CAAA;AAEzB,OAAO,YAA4B,MAAM,UAAU,CAAA;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAcvD,MAAM,cAAc,GAAG,CAAC,EAA8C,EAAE,EAAE;QAAlD,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,OAAuB,EAAlB,SAAS,cAArC,6BAAuC,CAAF;IAC3D,MAAM,SAAS,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAA;IAClD,MAAM,iBAAiB,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;IAE5C,IAAI,iBAAiB,EAAE;QACrB,OAAO;QACL,oEAAoE;QACpE,oBAAC,KAAK,IAAC,IAAI,EAAC,UAAU,EAAC,IAAI,EAAE,IAAI,IAAI,SAAU,EAAE,KAAK,EAAE,KAAK,IAC1D,CAAC,EAGmC,EAAE,EAAE;;YAFvC,6DAA6D;YAC7D,aAAgD;YADhD,6DAA6D;YAC7D,EAAS,KAAK,EAAE,UAAU,EAAE,IAAI,OAAgB,EAAX,SAAS,cAAvC,iBAAyC,CAAF;YAE9C,OAAO,oBAAC,MAAM,CAAC,QAAQ,oBAAK,SAAS,EAAM,SAAS,EAAI,CAAA;QAC1D,CAAC,CACK,CACT,CAAA;KACF;IAED,OAAO,CACL,oBAAC,YAAY,kBACX,IAAI,EAAC,UAAU,EACf,QAAQ,EAAE,QAAQ,IACd,SAAS;QACb,oEAAoE;QACpE,IAAI,EAAE,IAAK,KAEV,CAAC,KAA0B,EAAE,EAAE,CAAC,oBAAC,MAAM,CAAC,QAAQ,oBAAK,KAAK,EAAI,CAClD,CAChB,CAAA;AACH,CAAC,CAAA;AAED,cAAc,CAAC,WAAW,GAAG,gBAAgB,CAAA;AAE7C,eAAe,cAAc,CAAA"}
|
package/Checkbox/Checkbox.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CheckboxProps } from '@toptal/picasso';
|
|
2
|
-
import { FieldProps } from '../
|
|
2
|
+
import { FieldProps } from '../Field';
|
|
3
3
|
declare type CheckboxValue = CheckboxProps['value'] | CheckboxProps['checked'];
|
|
4
4
|
declare type CheckboxFormProps = Omit<CheckboxProps, 'requiredDecoration'> & {
|
|
5
5
|
required?: boolean;
|
|
@@ -10,7 +10,7 @@ declare type CheckboxInGroup = CheckboxFormProps & {
|
|
|
10
10
|
};
|
|
11
11
|
export declare type Props = CheckboxWithoutGroup | CheckboxInGroup;
|
|
12
12
|
export declare const Checkbox: {
|
|
13
|
-
({ name, value, required, defaultValue, ...restProps }: Props): JSX.Element;
|
|
13
|
+
({ name, value, required, label, defaultValue, ...restProps }: Props): JSX.Element;
|
|
14
14
|
displayName: string;
|
|
15
15
|
};
|
|
16
16
|
export default Checkbox;
|
package/Checkbox/Checkbox.js
CHANGED
|
@@ -12,13 +12,13 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
12
12
|
import React, { useContext } from 'react';
|
|
13
13
|
import { Checkbox as PicassoCheckbox } from '@toptal/picasso';
|
|
14
14
|
import { Field } from 'react-final-form';
|
|
15
|
-
import
|
|
15
|
+
import PicassoField from '../Field';
|
|
16
16
|
import { CheckboxGroupContext } from '../CheckboxGroup';
|
|
17
17
|
import { useFormConfig } from '../FormConfig';
|
|
18
18
|
export const Checkbox = (_a) => {
|
|
19
|
-
var { name, value, required,
|
|
19
|
+
var { name, value, required, label,
|
|
20
20
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
21
|
-
defaultValue } = _a, restProps = __rest(_a, ["name", "value", "required", "defaultValue"]);
|
|
21
|
+
defaultValue } = _a, restProps = __rest(_a, ["name", "value", "required", "label", "defaultValue"]);
|
|
22
22
|
const formConfig = useFormConfig();
|
|
23
23
|
const groupName = useContext(CheckboxGroupContext);
|
|
24
24
|
const isCheckboxInGroup = Boolean(groupName);
|
|
@@ -31,14 +31,14 @@ export const Checkbox = (_a) => {
|
|
|
31
31
|
_b = _a.input,
|
|
32
32
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
33
33
|
{ value: inputValue, type } = _b, restInput = __rest(_b, ["value", "type"]);
|
|
34
|
-
return React.createElement(PicassoCheckbox, Object.assign({}, restProps, restInput));
|
|
34
|
+
return React.createElement(PicassoCheckbox, Object.assign({}, restProps, restInput, { label: label }));
|
|
35
35
|
}));
|
|
36
36
|
}
|
|
37
37
|
const showAsterisk = required && formConfig.requiredVariant === 'asterisk';
|
|
38
38
|
const requiredDecoration = showAsterisk ? 'asterisk' : undefined;
|
|
39
|
-
return (React.createElement(
|
|
39
|
+
return (React.createElement(PicassoField, Object.assign({ type: 'checkbox', required: required }, restProps, {
|
|
40
40
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
41
|
-
name: name }), (input) => (React.createElement(PicassoCheckbox, Object.assign({}, input, { titleCase: restProps.titleCase, requiredDecoration: requiredDecoration })))));
|
|
41
|
+
name: name }), (input) => (React.createElement(PicassoCheckbox, Object.assign({}, input, { label: label, titleCase: restProps.titleCase, requiredDecoration: requiredDecoration })))));
|
|
42
42
|
};
|
|
43
43
|
Checkbox.displayName = 'Checkbox';
|
|
44
44
|
export default Checkbox;
|
package/Checkbox/Checkbox.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../../src/Checkbox/Checkbox.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AACzC,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAiB,MAAM,iBAAiB,CAAA;AAC5E,OAAO,EACL,KAAK,EAEN,MAAM,kBAAkB,CAAA;AAEzB,OAAO,YAA4B,MAAM,
|
|
1
|
+
{"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../../src/Checkbox/Checkbox.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AACzC,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAiB,MAAM,iBAAiB,CAAA;AAC5E,OAAO,EACL,KAAK,EAEN,MAAM,kBAAkB,CAAA;AAEzB,OAAO,YAA4B,MAAM,UAAU,CAAA;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAY7C,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EAQjB,EAAE,EAAE;QARa,EACvB,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,KAAK;IACL,6DAA6D;IAC7D,YAAY,OAEN,EADH,SAAS,cAPW,sDAQxB,CADa;IAEZ,MAAM,UAAU,GAAG,aAAa,EAAE,CAAA;IAClC,MAAM,SAAS,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAA;IAClD,MAAM,iBAAiB,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;IAE5C,IAAI,iBAAiB,EAAE;QACrB,OAAO;QACL,oEAAoE;QACpE,oBAAC,KAAK,IAAC,IAAI,EAAC,UAAU,EAAC,IAAI,EAAE,IAAI,IAAI,SAAU,EAAE,KAAK,EAAE,KAAK,IAC1D,CAAC,EAGmC,EAAE,EAAE;;YAFvC,6DAA6D;YAC7D,aAAgD;YADhD,6DAA6D;YAC7D,EAAS,KAAK,EAAE,UAAU,EAAE,IAAI,OAAgB,EAAX,SAAS,cAAvC,iBAAyC,CAAF;YAE9C,OAAO,oBAAC,eAAe,oBAAK,SAAS,EAAM,SAAS,IAAE,KAAK,EAAE,KAAK,IAAI,CAAA;QACxE,CAAC,CACK,CACT,CAAA;KACF;IAED,MAAM,YAAY,GAAG,QAAQ,IAAI,UAAU,CAAC,eAAe,KAAK,UAAU,CAAA;IAC1E,MAAM,kBAAkB,GAAG,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAA;IAEhE,OAAO,CACL,oBAAC,YAAY,kBACX,IAAI,EAAC,UAAU,EACf,QAAQ,EAAE,QAAQ,IACd,SAAS;QACb,oEAAoE;QACpE,IAAI,EAAE,IAAK,KAEV,CAAC,KAAoB,EAAE,EAAE,CAAC,CACzB,oBAAC,eAAe,oBACV,KAAK,IACT,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,CAAC,SAAS,EAC9B,kBAAkB,EAAE,kBAAkB,IACtC,CACH,CACY,CAChB,CAAA;AACH,CAAC,CAAA;AAED,QAAQ,CAAC,WAAW,GAAG,UAAU,CAAA;AAEjC,eAAe,QAAQ,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CheckboxProps, CheckboxGroupProps } from '@toptal/picasso';
|
|
2
|
-
import { FieldProps } from '../
|
|
2
|
+
import { FieldProps } from '../Field';
|
|
3
3
|
export declare type Props = CheckboxGroupProps & FieldProps<CheckboxProps['value']>;
|
|
4
4
|
export declare const CheckboxGroup: {
|
|
5
5
|
(props: Props): JSX.Element;
|
|
@@ -12,12 +12,13 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
12
12
|
/* eslint-disable react/jsx-props-no-spreading */
|
|
13
13
|
import React from 'react';
|
|
14
14
|
import { Checkbox as PicassoCheckbox } from '@toptal/picasso';
|
|
15
|
-
import
|
|
15
|
+
import PicassoField from '../Field';
|
|
16
|
+
import FieldLabel from '../FieldLabel';
|
|
16
17
|
import CheckboxGroupContext from './CheckboxGroupContext';
|
|
17
18
|
export const CheckboxGroup = (props) => {
|
|
18
|
-
const { children, titleCase } = props, rest = __rest(props, ["children", "titleCase"]);
|
|
19
|
+
const { children, titleCase, label } = props, rest = __rest(props, ["children", "titleCase", "label"]);
|
|
19
20
|
return (React.createElement(CheckboxGroupContext.Provider, { value: props.name },
|
|
20
|
-
React.createElement(
|
|
21
|
+
React.createElement(PicassoField, Object.assign({}, rest, { type: 'checkbox', label: label ? (React.createElement(FieldLabel, { name: props.name, required: props.required, label: label, titleCase: titleCase })) : null }), () => (React.createElement(PicassoCheckbox.Group, Object.assign({}, rest), children)))));
|
|
21
22
|
};
|
|
22
23
|
CheckboxGroup.displayName = 'CheckboxGroup';
|
|
23
24
|
export default CheckboxGroup;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckboxGroup.js","sourceRoot":"","sources":["../../src/CheckboxGroup/CheckboxGroup.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,iDAAiD;AACjD,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EACL,QAAQ,IAAI,eAAe,EAG5B,MAAM,iBAAiB,CAAA;AAExB,OAAO,YAA4B,MAAM,
|
|
1
|
+
{"version":3,"file":"CheckboxGroup.js","sourceRoot":"","sources":["../../src/CheckboxGroup/CheckboxGroup.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,iDAAiD;AACjD,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EACL,QAAQ,IAAI,eAAe,EAG5B,MAAM,iBAAiB,CAAA;AAExB,OAAO,YAA4B,MAAM,UAAU,CAAA;AACnD,OAAO,UAAU,MAAM,eAAe,CAAA;AACtC,OAAO,oBAAoB,MAAM,wBAAwB,CAAA;AAIzD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAY,EAAE,EAAE;IAC5C,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,KAAc,KAAK,EAAd,IAAI,UAAK,KAAK,EAA/C,kCAAuC,CAAQ,CAAA;IAErD,OAAO,CACL,oBAAC,oBAAoB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI;QAC9C,oBAAC,YAAY,oBACP,IAAI,IACR,IAAI,EAAC,UAAU,EACf,KAAK,EACH,KAAK,CAAC,CAAC,CAAC,CACN,oBAAC,UAAU,IACT,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,GACpB,CACH,CAAC,CAAC,CAAC,IAAI,KAGT,GAAG,EAAE,CAAC,CACL,oBAAC,eAAe,CAAC,KAAK,oBAAK,IAAI,GAAG,QAAQ,CAAyB,CACpE,CACY,CACe,CACjC,CAAA;AACH,CAAC,CAAA;AAED,aAAa,CAAC,WAAW,GAAG,eAAe,CAAA;AAE3C,eAAe,aAAa,CAAA"}
|
package/DatePicker/DatePicker.js
CHANGED
|
@@ -1,9 +1,24 @@
|
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
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
|
+
};
|
|
1
12
|
import React from 'react';
|
|
2
13
|
import { DatePicker as PicassoDatePicker } from '@toptal/picasso';
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
})
|
|
14
|
+
import InputField from '../InputField';
|
|
15
|
+
import FieldLabel from '../FieldLabel';
|
|
16
|
+
export const DatePicker = (props) => {
|
|
17
|
+
const { label, titleCase } = props, rest = __rest(props, ["label", "titleCase"]);
|
|
18
|
+
return (React.createElement(InputField, Object.assign({}, rest, { label: React.createElement(FieldLabel, { name: props.name, required: props.required, label: label, titleCase: titleCase }) }), (inputProps) => {
|
|
19
|
+
return React.createElement(PicassoDatePicker, Object.assign({}, inputProps));
|
|
20
|
+
}));
|
|
21
|
+
};
|
|
7
22
|
DatePicker.defaultProps = {};
|
|
8
23
|
DatePicker.displayName = 'DatePicker';
|
|
9
24
|
export default DatePicker;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePicker.js","sourceRoot":"","sources":["../../src/DatePicker/DatePicker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EACL,UAAU,IAAI,iBAAiB,EAEhC,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"DatePicker.js","sourceRoot":"","sources":["../../src/DatePicker/DatePicker.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EACL,UAAU,IAAI,iBAAiB,EAEhC,MAAM,iBAAiB,CAAA;AAGxB,OAAO,UAAU,MAAM,eAAe,CAAA;AACtC,OAAO,UAAU,MAAM,eAAe,CAAA;AAOtC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAY,EAAE,EAAE;IACzC,MAAM,EAAE,KAAK,EAAE,SAAS,KAAc,KAAK,EAAd,IAAI,UAAK,KAAK,EAArC,sBAA6B,CAAQ,CAAA;IAE3C,OAAO,CACL,oBAAC,UAAU,oBACL,IAAI,IACR,KAAK,EACH,oBAAC,UAAU,IACT,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,GACpB,KAGH,CAAC,UAA2B,EAAE,EAAE;QAC/B,OAAO,oBAAC,iBAAiB,oBAAK,UAAU,EAAI,CAAA;IAC9C,CAAC,CACU,CACd,CAAA;AACH,CAAC,CAAA;AAED,UAAU,CAAC,YAAY,GAAG,EAAE,CAAA;AAE5B,UAAU,CAAC,WAAW,GAAG,YAAY,CAAA;AAErC,eAAe,UAAU,CAAA"}
|
package/Dropzone/Dropzone.d.ts
CHANGED
package/Dropzone/Dropzone.js
CHANGED
|
@@ -11,7 +11,8 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
11
11
|
};
|
|
12
12
|
import React from 'react';
|
|
13
13
|
import { Dropzone as PicassoDropzone } from '@toptal/picasso';
|
|
14
|
-
import
|
|
14
|
+
import PicassoField from '../Field';
|
|
15
|
+
import FieldLabel from '../FieldLabel';
|
|
15
16
|
const Dropzone = (_a) => {
|
|
16
17
|
var { dropzoneHint } = _a, props = __rest(_a, ["dropzoneHint"]);
|
|
17
18
|
const handleDrop = ({ acceptedFiles, value = [], finalFormOnChange }) => {
|
|
@@ -28,7 +29,7 @@ const Dropzone = (_a) => {
|
|
|
28
29
|
const updatedFiles = value.filter((_, index) => index !== fileIndex);
|
|
29
30
|
finalFormOnChange(updatedFiles);
|
|
30
31
|
};
|
|
31
|
-
return (React.createElement(
|
|
32
|
+
return (React.createElement(PicassoField, Object.assign({ hideErrors: true }, props, { label: React.createElement(FieldLabel, { name: props.name, required: props.required, label: props.label, titleCase: props.titleCase }) }), inputProps => (React.createElement(PicassoDropzone, Object.assign({}, inputProps, { hint: dropzoneHint, onDropAccepted: acceptedFiles => {
|
|
32
33
|
handleDrop({
|
|
33
34
|
acceptedFiles,
|
|
34
35
|
value: inputProps.value,
|
package/Dropzone/Dropzone.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dropzone.js","sourceRoot":"","sources":["../../src/Dropzone/Dropzone.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAiB,MAAM,iBAAiB,CAAA;AAI5E,OAAO,YAA4B,MAAM,
|
|
1
|
+
{"version":3,"file":"Dropzone.js","sourceRoot":"","sources":["../../src/Dropzone/Dropzone.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAiB,MAAM,iBAAiB,CAAA;AAI5E,OAAO,YAA4B,MAAM,UAAU,CAAA;AACnD,OAAO,UAAU,MAAM,eAAe,CAAA;AAWtC,MAAM,QAAQ,GAAG,CAAC,EAAiC,EAAE,EAAE;QAArC,EAAE,YAAY,OAAmB,EAAd,KAAK,cAAxB,gBAA0B,CAAF;IACxC,MAAM,UAAU,GAAG,CAAC,EAClB,aAAa,EACb,KAAK,GAAG,EAAE,EACV,iBAAiB,EAKlB,EAAE,EAAE;QACH,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;YACzB,OAAM;SACP;QAED,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtD,IAAI;YACJ,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC,CAAA;QAEH,iBAAiB,CAAC,CAAC,GAAG,KAAK,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAA;IAC5C,CAAC,CAAA;IAED,MAAM,YAAY,GAAG,CAAC,EACpB,SAAS,EACT,KAAK,GAAG,EAAE,EACV,iBAAiB,EAKlB,EAAE,EAAE;QACH,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAA;QAEpE,iBAAiB,CAAC,YAAY,CAAC,CAAA;IACjC,CAAC,CAAA;IAED,OAAO,CACL,oBAAC,YAAY,kBACX,UAAU,UACN,KAAK,IACT,KAAK,EACH,oBAAC,UAAU,IACT,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,SAAS,EAAE,KAAK,CAAC,SAAS,GAC1B,KAGH,UAAU,CAAC,EAAE,CAAC,CACb,oBAAC,eAAe,oBACV,UAAU,IACd,IAAI,EAAE,YAAY,EAClB,cAAc,EAAE,aAAa,CAAC,EAAE;YAC9B,UAAU,CAAC;gBACT,aAAa;gBACb,KAAK,EAAE,UAAU,CAAC,KAAK;gBACvB,iBAAiB,EAAE,UAAU,CAAC,QAAQ;aACvC,CAAC,CAAA;QACJ,CAAC,EACD,QAAQ,EAAE,CAAC,SAAiB,EAAE,KAAa,EAAE,EAAE;YAC7C,YAAY,CAAC;gBACX,SAAS,EAAE,KAAK;gBAChB,KAAK,EAAE,UAAU,CAAC,KAAK;gBACvB,iBAAiB,EAAE,UAAU,CAAC,QAAQ;aACvC,CAAC,CAAA;QACJ,CAAC,IACD,CACH,CACY,CAChB,CAAA;AACH,CAAC,CAAA;AAED,QAAQ,CAAC,YAAY,GAAG,EAAE,CAAA;AAE1B,QAAQ,CAAC,WAAW,GAAG,UAAU,CAAA;AAEjC,eAAe,QAAQ,CAAA"}
|
package/Field/Field.d.ts
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { FieldProps as FinalFieldProps, FieldRenderProps } from 'react-final-form';
|
|
3
|
+
import { DateOrDateRangeType, OutlinedInputStatus } from '@toptal/picasso';
|
|
4
|
+
import { Item } from '@toptal/picasso/Autocomplete';
|
|
5
|
+
import { FileUpload } from '@toptal/picasso/FileInput';
|
|
6
|
+
import { TextLabelProps } from '@toptal/picasso-shared';
|
|
7
|
+
export declare type ValueType = string | string[] | number | boolean | null | undefined | FileUpload[] | DateOrDateRangeType | Item | Item[];
|
|
8
|
+
export declare type FieldProps<TInputValue> = FinalFieldProps<TInputValue, FieldRenderProps<TInputValue, HTMLInputElement>, HTMLInputElement> & TextLabelProps;
|
|
9
|
+
export interface IFormComponentProps {
|
|
10
|
+
value?: ValueType;
|
|
11
|
+
}
|
|
12
|
+
export declare type Props<TWrappedComponentProps extends IFormComponentProps, TInputValue> = TWrappedComponentProps & FieldProps<TInputValue> & {
|
|
13
|
+
name: string;
|
|
14
|
+
type?: string;
|
|
15
|
+
label?: React.ReactNode;
|
|
16
|
+
fieldType?: string;
|
|
17
|
+
status?: OutlinedInputStatus;
|
|
18
|
+
children: (props: any) => React.ReactNode;
|
|
19
|
+
renderFieldRequirements?: (props: {
|
|
20
|
+
value?: TInputValue;
|
|
21
|
+
error?: boolean;
|
|
22
|
+
}) => React.ReactNode;
|
|
23
|
+
};
|
|
24
|
+
declare const Field: {
|
|
25
|
+
<TWrappedComponentProps extends IFormComponentProps, TInputValue extends ValueType = TWrappedComponentProps["value"]>(props: Props<TWrappedComponentProps, TInputValue>): JSX.Element;
|
|
26
|
+
defaultProps: {};
|
|
27
|
+
displayName: string;
|
|
28
|
+
};
|
|
29
|
+
export default Field;
|
package/Field/Field.js
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
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, { useMemo } from 'react';
|
|
13
|
+
import { useField } from 'react-final-form';
|
|
14
|
+
import { Form as PicassoForm } from '@toptal/picasso';
|
|
15
|
+
import { useFormConfig } from '../FormConfig';
|
|
16
|
+
import { validators, useFieldValidation } from '../utils';
|
|
17
|
+
const { composeValidators, required: requiredValidator } = validators;
|
|
18
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
19
|
+
const getValidators = (required, validate) => {
|
|
20
|
+
if (required && validate) {
|
|
21
|
+
return composeValidators([requiredValidator, validate]);
|
|
22
|
+
}
|
|
23
|
+
if (required && !validate) {
|
|
24
|
+
return requiredValidator;
|
|
25
|
+
}
|
|
26
|
+
return validate;
|
|
27
|
+
};
|
|
28
|
+
const Field = (props) => {
|
|
29
|
+
const { type, hint, label, required, 'data-testid': dataTestId, renderFieldRequirements, status,
|
|
30
|
+
// FieldProps - https://final-form.org/docs/react-final-form/types/FieldProps
|
|
31
|
+
afterSubmit, allowNull, beforeSubmit, children, data, defaultValue, format, formatOnBlur, initialValue, isEqual, name, id = name, parse, subscription, validate, validateFields, value } = props,
|
|
32
|
+
//
|
|
33
|
+
rest = __rest(props, ["type", "hint", "label", "required", 'data-testid', "renderFieldRequirements", "status", "afterSubmit", "allowNull", "beforeSubmit", "children", "data", "defaultValue", "format", "formatOnBlur", "initialValue", "isEqual", "name", "id", "parse", "subscription", "validate", "validateFields", "value"]);
|
|
34
|
+
const { validateOnSubmit: shouldValidateOnSubmit } = useFormConfig();
|
|
35
|
+
const validators = useMemo(() => getValidators(required, validate), [required, validate]);
|
|
36
|
+
const { meta, input } = useField(name, {
|
|
37
|
+
validate: shouldValidateOnSubmit ? undefined : validators,
|
|
38
|
+
type,
|
|
39
|
+
afterSubmit,
|
|
40
|
+
allowNull,
|
|
41
|
+
beforeSubmit,
|
|
42
|
+
data,
|
|
43
|
+
defaultValue,
|
|
44
|
+
format,
|
|
45
|
+
formatOnBlur,
|
|
46
|
+
initialValue,
|
|
47
|
+
isEqual,
|
|
48
|
+
parse,
|
|
49
|
+
subscription,
|
|
50
|
+
validateFields,
|
|
51
|
+
value
|
|
52
|
+
});
|
|
53
|
+
const error = useFieldValidation({
|
|
54
|
+
name,
|
|
55
|
+
meta,
|
|
56
|
+
validators,
|
|
57
|
+
shouldValidateOnSubmit
|
|
58
|
+
});
|
|
59
|
+
const childProps = Object.assign(Object.assign(Object.assign({ id,
|
|
60
|
+
status }, rest), input), {
|
|
61
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
62
|
+
onChange: (event) => {
|
|
63
|
+
input.onChange(event);
|
|
64
|
+
if (rest.onChange) {
|
|
65
|
+
rest.onChange(event);
|
|
66
|
+
}
|
|
67
|
+
}, onBlur: (event) => {
|
|
68
|
+
input.onBlur(event);
|
|
69
|
+
if (rest.onBlur) {
|
|
70
|
+
rest.onBlur(event);
|
|
71
|
+
}
|
|
72
|
+
}, onFocus: (event) => {
|
|
73
|
+
input.onFocus(event);
|
|
74
|
+
if (rest.onFocus) {
|
|
75
|
+
rest.onFocus(event);
|
|
76
|
+
}
|
|
77
|
+
} });
|
|
78
|
+
return (React.createElement(PicassoForm.Field, { error: error, hint: hint, "data-testid": dataTestId, fieldRequirements: renderFieldRequirements === null || renderFieldRequirements === void 0 ? void 0 : renderFieldRequirements({
|
|
79
|
+
value: input.value,
|
|
80
|
+
error: status === 'error'
|
|
81
|
+
}) },
|
|
82
|
+
label,
|
|
83
|
+
children(childProps)));
|
|
84
|
+
};
|
|
85
|
+
Field.defaultProps = {};
|
|
86
|
+
Field.displayName = 'Field';
|
|
87
|
+
export default Field;
|
|
88
|
+
//# sourceMappingURL=Field.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Field.js","sourceRoot":"","sources":["../../src/Field/Field.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAA2B,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/D,OAAO,EACL,QAAQ,EAGT,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,IAAI,IAAI,WAAW,EAGpB,MAAM,iBAAiB,CAAA;AAKxB,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAEzD,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,GAAG,UAAU,CAAA;AA2CrE,8DAA8D;AAC9D,MAAM,aAAa,GAAG,CAAC,QAAiB,EAAE,QAAc,EAAE,EAAE;IAC1D,IAAI,QAAQ,IAAI,QAAQ,EAAE;QACxB,OAAO,iBAAiB,CAAC,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC,CAAA;KACxD;IAED,IAAI,QAAQ,IAAI,CAAC,QAAQ,EAAE;QACzB,OAAO,iBAAiB,CAAA;KACzB;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAED,MAAM,KAAK,GAAG,CAIZ,KAAiD,EACjD,EAAE;IACF,MAAM,EACJ,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,aAAa,EAAE,UAAU,EACzB,uBAAuB,EACvB,MAAM;IACN,6EAA6E;IAC7E,WAAW,EACX,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,IAAI,EACJ,YAAY,EACZ,MAAM,EACN,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,IAAI,EACJ,EAAE,GAAG,IAAI,EACT,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,KAAK,KAGH,KAAK;IAFP,EAAE;IACC,IAAI,UACL,KAAK,EA5BH,4SA4BL,CAAQ,CAAA;IAET,MAAM,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,GAAG,aAAa,EAAE,CAAA;IACpE,MAAM,UAAU,GAAG,OAAO,CACxB,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,EACvC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CACrB,CAAA;IAED,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAc,IAAI,EAAE;QAClD,QAAQ,EAAE,sBAAsB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;QACzD,IAAI;QACJ,WAAW;QACX,SAAS;QACT,YAAY;QACZ,IAAI;QACJ,YAAY;QACZ,MAAM;QACN,YAAY;QACZ,YAAY;QACZ,OAAO;QACP,KAAK;QACL,YAAY;QACZ,cAAc;QACd,KAAK;KACN,CAAC,CAAA;IAEF,MAAM,KAAK,GAAG,kBAAkB,CAAC;QAC/B,IAAI;QACJ,IAAI;QACJ,UAAU;QACV,sBAAsB;KACvB,CAAC,CAAA;IAEF,MAAM,UAAU,+CACd,EAAE;QACF,MAAM,IACH,IAAI,GACJ,KAAK;QACR,8DAA8D;QAC9D,QAAQ,EAAE,CAAC,KAAqC,EAAE,EAAE;YAClD,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;YAErB,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;aACrB;QACH,CAAC,EACD,MAAM,EAAE,CAAC,KAA8B,EAAE,EAAE;YACzC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YAEnB,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;aACnB;QACH,CAAC,EACD,OAAO,EAAE,CAAC,KAA8B,EAAE,EAAE;YAC1C,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;YAEpB,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;aACpB;QACH,CAAC,GACF,CAAA;IAED,OAAO,CACL,oBAAC,WAAW,CAAC,KAAK,IAChB,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,IAAI,iBACG,UAAU,EACvB,iBAAiB,EAAE,uBAAuB,aAAvB,uBAAuB,uBAAvB,uBAAuB,CAAG;YAC3C,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,KAAK,EAAE,MAAM,KAAK,OAAO;SAC1B,CAAC;QAED,KAAK;QACL,QAAQ,CAAC,UAAU,CAAC,CACH,CACrB,CAAA;AACH,CAAC,CAAA;AAED,KAAK,CAAC,YAAY,GAAG,EAAE,CAAA;AAEvB,KAAK,CAAC,WAAW,GAAG,OAAO,CAAA;AAE3B,eAAe,KAAK,CAAA"}
|
package/Field/index.d.ts
ADDED
package/Field/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Field/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,cAAc,SAAS,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { TextLabelProps } from '@toptal/picasso-shared';
|
|
2
|
+
export declare type Props = {
|
|
3
|
+
name?: string;
|
|
4
|
+
label?: string;
|
|
5
|
+
required?: boolean;
|
|
6
|
+
} & TextLabelProps;
|
|
7
|
+
declare const FieldLabel: {
|
|
8
|
+
(props: Props): JSX.Element;
|
|
9
|
+
defaultProps: {};
|
|
10
|
+
displayName: string;
|
|
11
|
+
};
|
|
12
|
+
export default FieldLabel;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Form as PicassoForm } from '@toptal/picasso';
|
|
3
|
+
import { useFormConfig } from '../FormConfig';
|
|
4
|
+
const getRequiredDecoration = (required, requiredVariant) => {
|
|
5
|
+
const showAsterisk = required && requiredVariant === 'asterisk';
|
|
6
|
+
if (showAsterisk) {
|
|
7
|
+
return 'asterisk';
|
|
8
|
+
}
|
|
9
|
+
const showOptional = !required && (!requiredVariant || requiredVariant === 'default');
|
|
10
|
+
if (showOptional) {
|
|
11
|
+
return 'optional';
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
const FieldLabel = (props) => {
|
|
15
|
+
const { label, required, titleCase, name } = props;
|
|
16
|
+
const formConfig = useFormConfig();
|
|
17
|
+
const requiredDecoration = getRequiredDecoration(required, formConfig.requiredVariant);
|
|
18
|
+
return (React.createElement(PicassoForm.Label, { requiredDecoration: requiredDecoration, htmlFor: name, titleCase: titleCase }, label));
|
|
19
|
+
};
|
|
20
|
+
FieldLabel.defaultProps = {};
|
|
21
|
+
FieldLabel.displayName = 'FieldLabel';
|
|
22
|
+
export default FieldLabel;
|
|
23
|
+
//# sourceMappingURL=FieldLabel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FieldLabel.js","sourceRoot":"","sources":["../../src/FieldLabel/FieldLabel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,IAAI,IAAI,WAAW,EAAsB,MAAM,iBAAiB,CAAA;AAGzE,OAAO,EAAE,aAAa,EAAmB,MAAM,eAAe,CAAA;AAQ9D,MAAM,qBAAqB,GAAG,CAC5B,QAAkB,EAClB,eAAiC,EACD,EAAE;IAClC,MAAM,YAAY,GAAG,QAAQ,IAAI,eAAe,KAAK,UAAU,CAAA;IAE/D,IAAI,YAAY,EAAE;QAChB,OAAO,UAAU,CAAA;KAClB;IAED,MAAM,YAAY,GAChB,CAAC,QAAQ,IAAI,CAAC,CAAC,eAAe,IAAI,eAAe,KAAK,SAAS,CAAC,CAAA;IAElE,IAAI,YAAY,EAAE;QAChB,OAAO,UAAU,CAAA;KAClB;AACH,CAAC,CAAA;AAED,MAAM,UAAU,GAAG,CAAC,KAAY,EAAE,EAAE;IAClC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,KAAK,CAAA;IAElD,MAAM,UAAU,GAAG,aAAa,EAAE,CAAA;IAClC,MAAM,kBAAkB,GAAG,qBAAqB,CAC9C,QAAQ,EACR,UAAU,CAAC,eAAe,CAC3B,CAAA;IAED,OAAO,CACL,oBAAC,WAAW,CAAC,KAAK,IAChB,kBAAkB,EAAE,kBAAkB,EACtC,OAAO,EAAE,IAAI,EACb,SAAS,EAAE,SAAS,IAEnB,KAAK,CACY,CACrB,CAAA;AACH,CAAC,CAAA;AAED,UAAU,CAAC,YAAY,GAAG,EAAE,CAAA;AAE5B,UAAU,CAAC,WAAW,GAAG,YAAY,CAAA;AAErC,eAAe,UAAU,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/FieldLabel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,cAAc,cAAc,CAAA"}
|
|
@@ -1,27 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import { Item } from '@toptal/picasso/Autocomplete';
|
|
5
|
-
import { FileUpload } from '@toptal/picasso/FileInput';
|
|
6
|
-
import { TextLabelProps } from '@toptal/picasso-shared';
|
|
7
|
-
declare type ValueType = string | string[] | number | boolean | null | undefined | FileUpload[] | DateOrDateRangeType | Item | Item[];
|
|
8
|
-
export declare type FieldProps<TInputValue> = FinalFieldProps<TInputValue, FieldRenderProps<TInputValue, HTMLInputElement>, HTMLInputElement> & TextLabelProps;
|
|
9
|
-
export declare type Props<TInputValue, TWrappedComponentProps> = TWrappedComponentProps & FieldProps<TInputValue> & TextLabelProps & {
|
|
10
|
-
name: string;
|
|
11
|
-
type?: string;
|
|
12
|
-
hideFieldLabel?: boolean;
|
|
13
|
-
hideLabelRequiredDecoration?: boolean;
|
|
14
|
-
fieldType?: string;
|
|
15
|
-
children: (props: any) => React.ReactNode;
|
|
16
|
-
renderFieldRequirements?: (props: {
|
|
17
|
-
value?: TInputValue;
|
|
18
|
-
error?: boolean;
|
|
19
|
-
}) => React.ReactNode;
|
|
1
|
+
import { Props as FieldProps, ValueType, IFormComponentProps } from '../Field';
|
|
2
|
+
export declare type Props<TWrappedComponentProps, TInputValue> = Omit<FieldProps<TWrappedComponentProps, TInputValue>, 'label'> & {
|
|
3
|
+
label?: string;
|
|
20
4
|
};
|
|
21
5
|
declare const FieldWrapper: {
|
|
22
|
-
<TWrappedComponentProps extends
|
|
23
|
-
value?: ValueType;
|
|
24
|
-
}, TInputValue extends ValueType = TWrappedComponentProps["value"]>(props: Props<TInputValue, TWrappedComponentProps>): JSX.Element;
|
|
6
|
+
<TWrappedComponentProps extends IFormComponentProps, TInputValue extends ValueType = TWrappedComponentProps["value"]>(props: Props<TWrappedComponentProps, TInputValue>): JSX.Element;
|
|
25
7
|
defaultProps: {};
|
|
26
8
|
displayName: string;
|
|
27
9
|
};
|