@itcase/forms 1.0.23 → 1.0.25
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.
|
@@ -1,22 +1,24 @@
|
|
|
1
|
-
.form-
|
|
2
|
-
&
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
& .input {
|
|
7
|
-
border: solid 1px var(--color-success-border-primary);
|
|
8
|
-
}
|
|
1
|
+
.form-custom {
|
|
2
|
+
&_state {
|
|
3
|
+
&_success {
|
|
4
|
+
& .input {
|
|
5
|
+
border: solid 1px var(--color-success-border-primary);
|
|
9
6
|
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
7
|
+
}
|
|
8
|
+
&_error {
|
|
9
|
+
& .input {
|
|
10
|
+
border: solid 1px var(--color-error-border-primary);
|
|
14
11
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
}
|
|
13
|
+
&_focus {
|
|
14
|
+
& .input {
|
|
15
|
+
background: var(--color-surface-primary);
|
|
19
16
|
}
|
|
20
17
|
}
|
|
21
18
|
}
|
|
22
19
|
}
|
|
20
|
+
.form-field {
|
|
21
|
+
&_type_custom {
|
|
22
|
+
width: 100%;
|
|
23
|
+
}
|
|
24
|
+
}
|
package/dist/itcase-forms.cjs.js
CHANGED
|
@@ -12,6 +12,7 @@ var Text = require('@itcase/ui/components/Text');
|
|
|
12
12
|
var useDeviceTargetClass = require('@itcase/ui/hooks/useDeviceTargetClass');
|
|
13
13
|
var useStyles = require('@itcase/ui/hooks/useStyles');
|
|
14
14
|
var Choice = require('@itcase/ui/components/Choice');
|
|
15
|
+
var Code = require('@itcase/ui/components/Code');
|
|
15
16
|
var DatePicker = require('@itcase/ui/components/DatePicker');
|
|
16
17
|
var axios = require('axios');
|
|
17
18
|
var reactDropzone = require('react-dropzone');
|
|
@@ -814,6 +815,22 @@ var ChoiceField = /*#__PURE__*/React__default.default.memo(function ChoiceField(
|
|
|
814
815
|
}, function (_ref) {
|
|
815
816
|
var input = _ref.input,
|
|
816
817
|
meta = _ref.meta;
|
|
818
|
+
var activeOption = React.useMemo(function () {
|
|
819
|
+
var emptyOption = {
|
|
820
|
+
value: null,
|
|
821
|
+
label: null
|
|
822
|
+
};
|
|
823
|
+
if (input.value) {
|
|
824
|
+
var currentOption = options.find(function (option) {
|
|
825
|
+
return option.value === input.value;
|
|
826
|
+
});
|
|
827
|
+
return currentOption || emptyOption;
|
|
828
|
+
}
|
|
829
|
+
return emptyOption;
|
|
830
|
+
}, [input.value]);
|
|
831
|
+
var setActiveSegment = React.useCallback(function (option) {
|
|
832
|
+
change(name, option.value);
|
|
833
|
+
}, [change]);
|
|
817
834
|
return /*#__PURE__*/React__default.default.createElement(FieldWrapper, Object.assign({
|
|
818
835
|
className: clsx__default.default('form-field_type_choice', 'form__item_type_choice', classNameGroupItem),
|
|
819
836
|
inputName: input.name,
|
|
@@ -836,7 +853,8 @@ var ChoiceField = /*#__PURE__*/React__default.default.memo(function ChoiceField(
|
|
|
836
853
|
isMultiple: isMultiple,
|
|
837
854
|
isRequired: isRequired,
|
|
838
855
|
placeholder: placeholder,
|
|
839
|
-
|
|
856
|
+
active: activeOption,
|
|
857
|
+
setActiveSegment: setActiveSegment
|
|
840
858
|
}, inputProps)));
|
|
841
859
|
});
|
|
842
860
|
});
|
|
@@ -894,6 +912,53 @@ CustomField.propTypes = {
|
|
|
894
912
|
inputProps: PropTypes__default.default.object
|
|
895
913
|
};
|
|
896
914
|
|
|
915
|
+
var CodeField = /*#__PURE__*/React__default.default.memo(function CodeField(props) {
|
|
916
|
+
var isRequired = props.isRequired,
|
|
917
|
+
name = props.name,
|
|
918
|
+
fieldProps = props.fieldProps,
|
|
919
|
+
inputProps = props.inputProps,
|
|
920
|
+
classNameGroupItem = props.classNameGroupItem,
|
|
921
|
+
hideMessage = props.hideMessage;
|
|
922
|
+
return /*#__PURE__*/React__default.default.createElement(reactFinalForm.Field, {
|
|
923
|
+
name: name
|
|
924
|
+
}, function (_ref) {
|
|
925
|
+
var input = _ref.input,
|
|
926
|
+
meta = _ref.meta;
|
|
927
|
+
return /*#__PURE__*/React__default.default.createElement(FieldWrapper, Object.assign({
|
|
928
|
+
className: clsx__default.default('form-field_type_code', 'form__item_type_code', classNameGroupItem),
|
|
929
|
+
fieldClassName: 'form-code',
|
|
930
|
+
inputName: input.name,
|
|
931
|
+
inputValue: input.value,
|
|
932
|
+
isRequired: isRequired,
|
|
933
|
+
metaActive: meta.active,
|
|
934
|
+
metaError: meta.error,
|
|
935
|
+
metaModifiedSinceLastSubmit: meta.modifiedSinceLastSubmit,
|
|
936
|
+
metaSubmitError: meta.submitError,
|
|
937
|
+
metaSubmitFailed: meta.submitFailed,
|
|
938
|
+
metaTouched: meta.touched,
|
|
939
|
+
metaValid: meta.valid,
|
|
940
|
+
hideMessage: hideMessage
|
|
941
|
+
}, fieldProps), /*#__PURE__*/React__default.default.createElement(Code.Code, Object.assign({
|
|
942
|
+
autoComplete: "nope",
|
|
943
|
+
name: input.name,
|
|
944
|
+
value: input.value,
|
|
945
|
+
onBlur: input.onBlur,
|
|
946
|
+
onChange: input.onChange,
|
|
947
|
+
onFocus: input.onFocus
|
|
948
|
+
}, inputProps)));
|
|
949
|
+
});
|
|
950
|
+
});
|
|
951
|
+
CodeField.defaultProps = {
|
|
952
|
+
inputProps: {},
|
|
953
|
+
fieldProps: {}
|
|
954
|
+
};
|
|
955
|
+
CodeField.propTypes = {
|
|
956
|
+
name: PropTypes__default.default.string.isRequired,
|
|
957
|
+
isRequired: PropTypes__default.default.bool,
|
|
958
|
+
fieldProps: PropTypes__default.default.object,
|
|
959
|
+
inputProps: PropTypes__default.default.object
|
|
960
|
+
};
|
|
961
|
+
|
|
897
962
|
function DatePickerField(props) {
|
|
898
963
|
var isRequired = props.isRequired,
|
|
899
964
|
fieldProps = props.fieldProps,
|
|
@@ -2348,6 +2413,7 @@ var formTypes = {
|
|
|
2348
2413
|
checkbox: 'checkbox',
|
|
2349
2414
|
custom: 'custom',
|
|
2350
2415
|
choice: 'choice',
|
|
2416
|
+
code: 'code',
|
|
2351
2417
|
datePicker: 'datePicker',
|
|
2352
2418
|
dateRangePicker: 'dateRangePicker',
|
|
2353
2419
|
fileInput: 'fileInput',
|
|
@@ -2373,6 +2439,12 @@ function generateField(field, config, props) {
|
|
|
2373
2439
|
key: config.key
|
|
2374
2440
|
}, field, props));
|
|
2375
2441
|
}
|
|
2442
|
+
case formTypes.code:
|
|
2443
|
+
{
|
|
2444
|
+
return /*#__PURE__*/React__default.default.createElement(CodeField, Object.assign({
|
|
2445
|
+
key: config.key
|
|
2446
|
+
}, field, props));
|
|
2447
|
+
}
|
|
2376
2448
|
case formTypes["switch"]:
|
|
2377
2449
|
{
|
|
2378
2450
|
return /*#__PURE__*/React__default.default.createElement(SwitchField, Object.assign({
|
|
@@ -2718,6 +2790,7 @@ Object.defineProperty(exports, 'useFormState', {
|
|
|
2718
2790
|
});
|
|
2719
2791
|
exports.Checkbox = CheckboxField;
|
|
2720
2792
|
exports.ChoiceField = ChoiceField;
|
|
2793
|
+
exports.CodeField = CodeField;
|
|
2721
2794
|
exports.CustomField = CustomField;
|
|
2722
2795
|
exports.DatePickerField = DatePickerField;
|
|
2723
2796
|
exports.FieldWrapper = FieldWrapper;
|
package/dist/itcase-forms.esm.js
CHANGED
|
@@ -11,6 +11,7 @@ import { Text } from '@itcase/ui/components/Text';
|
|
|
11
11
|
import { useDeviceTargetClass } from '@itcase/ui/hooks/useDeviceTargetClass';
|
|
12
12
|
import { useStyles } from '@itcase/ui/hooks/useStyles';
|
|
13
13
|
import { Choice } from '@itcase/ui/components/Choice';
|
|
14
|
+
import { Code } from '@itcase/ui/components/Code';
|
|
14
15
|
import { DatePickerInput } from '@itcase/ui/components/DatePicker';
|
|
15
16
|
import axios from 'axios';
|
|
16
17
|
import { useDropzone } from 'react-dropzone';
|
|
@@ -804,6 +805,22 @@ var ChoiceField = /*#__PURE__*/React.memo(function ChoiceField(props) {
|
|
|
804
805
|
}, function (_ref) {
|
|
805
806
|
var input = _ref.input,
|
|
806
807
|
meta = _ref.meta;
|
|
808
|
+
var activeOption = useMemo(function () {
|
|
809
|
+
var emptyOption = {
|
|
810
|
+
value: null,
|
|
811
|
+
label: null
|
|
812
|
+
};
|
|
813
|
+
if (input.value) {
|
|
814
|
+
var currentOption = options.find(function (option) {
|
|
815
|
+
return option.value === input.value;
|
|
816
|
+
});
|
|
817
|
+
return currentOption || emptyOption;
|
|
818
|
+
}
|
|
819
|
+
return emptyOption;
|
|
820
|
+
}, [input.value]);
|
|
821
|
+
var setActiveSegment = useCallback(function (option) {
|
|
822
|
+
change(name, option.value);
|
|
823
|
+
}, [change]);
|
|
807
824
|
return /*#__PURE__*/React.createElement(FieldWrapper, Object.assign({
|
|
808
825
|
className: clsx('form-field_type_choice', 'form__item_type_choice', classNameGroupItem),
|
|
809
826
|
inputName: input.name,
|
|
@@ -826,7 +843,8 @@ var ChoiceField = /*#__PURE__*/React.memo(function ChoiceField(props) {
|
|
|
826
843
|
isMultiple: isMultiple,
|
|
827
844
|
isRequired: isRequired,
|
|
828
845
|
placeholder: placeholder,
|
|
829
|
-
|
|
846
|
+
active: activeOption,
|
|
847
|
+
setActiveSegment: setActiveSegment
|
|
830
848
|
}, inputProps)));
|
|
831
849
|
});
|
|
832
850
|
});
|
|
@@ -884,6 +902,53 @@ CustomField.propTypes = {
|
|
|
884
902
|
inputProps: PropTypes.object
|
|
885
903
|
};
|
|
886
904
|
|
|
905
|
+
var CodeField = /*#__PURE__*/React.memo(function CodeField(props) {
|
|
906
|
+
var isRequired = props.isRequired,
|
|
907
|
+
name = props.name,
|
|
908
|
+
fieldProps = props.fieldProps,
|
|
909
|
+
inputProps = props.inputProps,
|
|
910
|
+
classNameGroupItem = props.classNameGroupItem,
|
|
911
|
+
hideMessage = props.hideMessage;
|
|
912
|
+
return /*#__PURE__*/React.createElement(Field, {
|
|
913
|
+
name: name
|
|
914
|
+
}, function (_ref) {
|
|
915
|
+
var input = _ref.input,
|
|
916
|
+
meta = _ref.meta;
|
|
917
|
+
return /*#__PURE__*/React.createElement(FieldWrapper, Object.assign({
|
|
918
|
+
className: clsx('form-field_type_code', 'form__item_type_code', classNameGroupItem),
|
|
919
|
+
fieldClassName: 'form-code',
|
|
920
|
+
inputName: input.name,
|
|
921
|
+
inputValue: input.value,
|
|
922
|
+
isRequired: isRequired,
|
|
923
|
+
metaActive: meta.active,
|
|
924
|
+
metaError: meta.error,
|
|
925
|
+
metaModifiedSinceLastSubmit: meta.modifiedSinceLastSubmit,
|
|
926
|
+
metaSubmitError: meta.submitError,
|
|
927
|
+
metaSubmitFailed: meta.submitFailed,
|
|
928
|
+
metaTouched: meta.touched,
|
|
929
|
+
metaValid: meta.valid,
|
|
930
|
+
hideMessage: hideMessage
|
|
931
|
+
}, fieldProps), /*#__PURE__*/React.createElement(Code, Object.assign({
|
|
932
|
+
autoComplete: "nope",
|
|
933
|
+
name: input.name,
|
|
934
|
+
value: input.value,
|
|
935
|
+
onBlur: input.onBlur,
|
|
936
|
+
onChange: input.onChange,
|
|
937
|
+
onFocus: input.onFocus
|
|
938
|
+
}, inputProps)));
|
|
939
|
+
});
|
|
940
|
+
});
|
|
941
|
+
CodeField.defaultProps = {
|
|
942
|
+
inputProps: {},
|
|
943
|
+
fieldProps: {}
|
|
944
|
+
};
|
|
945
|
+
CodeField.propTypes = {
|
|
946
|
+
name: PropTypes.string.isRequired,
|
|
947
|
+
isRequired: PropTypes.bool,
|
|
948
|
+
fieldProps: PropTypes.object,
|
|
949
|
+
inputProps: PropTypes.object
|
|
950
|
+
};
|
|
951
|
+
|
|
887
952
|
function DatePickerField(props) {
|
|
888
953
|
var isRequired = props.isRequired,
|
|
889
954
|
fieldProps = props.fieldProps,
|
|
@@ -2338,6 +2403,7 @@ var formTypes = {
|
|
|
2338
2403
|
checkbox: 'checkbox',
|
|
2339
2404
|
custom: 'custom',
|
|
2340
2405
|
choice: 'choice',
|
|
2406
|
+
code: 'code',
|
|
2341
2407
|
datePicker: 'datePicker',
|
|
2342
2408
|
dateRangePicker: 'dateRangePicker',
|
|
2343
2409
|
fileInput: 'fileInput',
|
|
@@ -2363,6 +2429,12 @@ function generateField(field, config, props) {
|
|
|
2363
2429
|
key: config.key
|
|
2364
2430
|
}, field, props));
|
|
2365
2431
|
}
|
|
2432
|
+
case formTypes.code:
|
|
2433
|
+
{
|
|
2434
|
+
return /*#__PURE__*/React.createElement(CodeField, Object.assign({
|
|
2435
|
+
key: config.key
|
|
2436
|
+
}, field, props));
|
|
2437
|
+
}
|
|
2366
2438
|
case formTypes["switch"]:
|
|
2367
2439
|
{
|
|
2368
2440
|
return /*#__PURE__*/React.createElement(SwitchField, Object.assign({
|
|
@@ -2694,4 +2766,4 @@ FinalForm.defaultProps = {
|
|
|
2694
2766
|
disableFieldsAutoComplete: false
|
|
2695
2767
|
};
|
|
2696
2768
|
|
|
2697
|
-
export { CheckboxField as Checkbox, ChoiceField, CustomField, DatePickerField, FieldWrapper, FieldWrapperBase, FileInput, FinalForm, Group, InputField, RadioGroup, SegmentedField, SelectField, SwitchField as Switch, TextareaField as Textarea, addRequiredFieldsParamToSchema, emailValidation, focusOnError, focusOnErrorDecorator, formTypes, generateField, phoneValidation, sendFormDataToServer, setErrorsMutator, useYupValidationSchema };
|
|
2769
|
+
export { CheckboxField as Checkbox, ChoiceField, CodeField, CustomField, DatePickerField, FieldWrapper, FieldWrapperBase, FileInput, FinalForm, Group, InputField, RadioGroup, SegmentedField, SelectField, SwitchField as Switch, TextareaField as Textarea, addRequiredFieldsParamToSchema, emailValidation, focusOnError, focusOnErrorDecorator, formTypes, generateField, phoneValidation, sendFormDataToServer, setErrorsMutator, useYupValidationSchema };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@itcase/forms",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.25",
|
|
4
4
|
"description": "Forms fields, inputs, etc.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"forms",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
37
|
"@itcase/common": "^1.1.6",
|
|
38
|
-
"@itcase/ui": "^1.0.
|
|
38
|
+
"@itcase/ui": "^1.0.48",
|
|
39
39
|
"axios": "^1.5.0",
|
|
40
40
|
"clsx": "^2.0.0",
|
|
41
41
|
"date-fns": "2.0.0-alpha.7",
|