intelicoreact 1.6.20 → 1.6.21
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/dist/Atomic/FormElements/ActionAlert/ActionAlert.js +1 -102
- package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.js +1 -89
- package/dist/Atomic/FormElements/Calendar/Calendar.js +1 -232
- package/dist/Atomic/FormElements/Calendar/Calendar.props.js +1 -3
- package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.js +1 -101
- package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.js +1 -70
- package/dist/Atomic/FormElements/Datepicker/Datepicker.js +1 -350
- package/dist/Atomic/FormElements/Datepicker/Datepicker.props.js +1 -3
- package/dist/Atomic/FormElements/Datepicker/components/DatepickerCalendar.js +1 -177
- package/dist/Atomic/FormElements/Datepicker/components/DatepickerCalendar.props.js +1 -3
- package/dist/Atomic/FormElements/Dropdown/Dropdown.js +1 -561
- package/dist/Atomic/FormElements/Dropdown/components/DropdownLoader.js +1 -20
- package/dist/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.js +1 -405
- package/dist/Atomic/FormElements/FileLoader/FileLoader.js +1 -94
- package/dist/Atomic/FormElements/FileLoader/partial/LoadZone.js +1 -105
- package/dist/Atomic/FormElements/FileLoader/partial/LoadedContent.js +1 -67
- package/dist/Atomic/FormElements/FileLoaderDescription/FileLoaderDescription.js +1 -247
- package/dist/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.js +1 -160
- package/dist/Atomic/FormElements/FileLoaderLocalGroup/FileLoaderLocalGroup.js +1 -193
- package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN.js +1 -135
- package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN_old.js +1 -116
- package/dist/Atomic/FormElements/Input/Input.js +1 -467
- package/dist/Atomic/FormElements/InputCalendar/InputCalendar.js +1 -161
- package/dist/Atomic/FormElements/InputColor/InputColor.js +1 -64
- package/dist/Atomic/FormElements/InputCurrency/InputCurrency.js +1 -166
- package/dist/Atomic/FormElements/InputDateRange/InputDateRange.js +1 -354
- package/dist/Atomic/FormElements/InputDateRange/components/DateInput.js +1 -71
- package/dist/Atomic/FormElements/InputDateRange/components/Datepicker.js +1 -693
- package/dist/Atomic/FormElements/InputDateRange/components/OpenedPart.js +1 -254
- package/dist/Atomic/FormElements/InputDateRange/components/SelectItem.js +1 -32
- package/dist/Atomic/FormElements/InputDateRange/dependencies.js +1 -200
- package/dist/Atomic/FormElements/InputLink/InputLink.js +1 -99
- package/dist/Atomic/FormElements/InputMask/InputCarretPosition.js +1 -37
- package/dist/Atomic/FormElements/InputMask/InputMask.js +1 -1214
- package/dist/Atomic/FormElements/InputMask/config.js +1 -15
- package/dist/Atomic/FormElements/InputMask/functions.js +1 -58
- package/dist/Atomic/FormElements/InputMask2/InputMask2.js +1 -674
- package/dist/Atomic/FormElements/InputMask2/config.js +1 -15
- package/dist/Atomic/FormElements/InputMask2/functions.js +1 -58
- package/dist/Atomic/FormElements/InputMask3/InputMask3.js +1 -766
- package/dist/Atomic/FormElements/InputMask3/config.js +1 -15
- package/dist/Atomic/FormElements/InputMask3/functions.js +1 -58
- package/dist/Atomic/FormElements/InputWithAction/InputWithAction.js +1 -114
- package/dist/Atomic/FormElements/InputsRow/InputsRow.js +1 -140
- package/dist/Atomic/FormElements/Label/Label.js +1 -82
- package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.js +1 -506
- package/dist/Atomic/FormElements/MultiSelect/MultiSelect.js +1 -45
- package/dist/Atomic/FormElements/NumericInput/NumericInput.js +1 -331
- package/dist/Atomic/FormElements/RadioGroup/RadioGroup.js +1 -66
- package/dist/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.js +1 -80
- package/dist/Atomic/FormElements/RadioInput/RadioInput.js +1 -64
- package/dist/Atomic/FormElements/RadioRowSwitcher/RadioRowSwitcher.js +1 -54
- package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.js +1 -183
- package/dist/Atomic/FormElements/RangeInputs/RangeInputs.js +1 -209
- package/dist/Atomic/FormElements/RangeList/RangeList.js +1 -175
- package/dist/Atomic/FormElements/RangeList/partial/RangeListRow.js +1 -43
- package/dist/Atomic/FormElements/RangeSlider/RangeSlider.js +1 -443
- package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.js +1 -858
- package/dist/Atomic/FormElements/SwitchableRow/SwitchableRow.js +1 -39
- package/dist/Atomic/FormElements/Switcher/Switcher.js +1 -59
- package/dist/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.js +1 -50
- package/dist/Atomic/FormElements/SwitcherHide/SwitcherHide.js +1 -47
- package/dist/Atomic/FormElements/SwitcherRadio/SwitcherRadio.js +1 -96
- package/dist/Atomic/FormElements/SwitcherRange/SwitcherRange.js +1 -40
- package/dist/Atomic/FormElements/SwitcherRangeList/SwitcherRangeList.js +1 -64
- package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.js +1 -170
- package/dist/Atomic/FormElements/SwitcherTagsDropdown/partial/States.js +1 -202
- package/dist/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.js +1 -67
- package/dist/Atomic/FormElements/TagListToDropdown/TagListToDropdown.js +1 -115
- package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.js +1 -826
- package/dist/Atomic/FormElements/Text/Text.js +1 -125
- package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.js +1 -45
- package/dist/Atomic/FormElements/Textarea/Textarea.js +1 -80
- package/dist/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.js +1 -176
- package/dist/Atomic/FormElements/TieredCheckboxes/partial/AccordionWithCheckbox.js +1 -62
- package/dist/Atomic/FormElements/TimeRange/TimeRange.js +1 -127
- package/dist/Atomic/FormElements/UserContacts/UserContacts.js +1 -220
- package/dist/Atomic/FormElements/VariantsListRadio/VariantsListRadio.js +1 -83
- package/dist/Atomic/FormElements/VariantsListRadio/partials/VariantsListRadioItem.js +1 -82
- package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.js +1 -101
- package/dist/Atomic/FormElements/WidgetPseudoTable/partial/constructor.js +1 -29
- package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.js +1 -113
- package/dist/Atomic/FormElements/WidgetWithSwitchableRows/partial/constructor.js +1 -30
- package/dist/Atomic/Layout/Header/Header.js +1 -85
- package/dist/Atomic/Layout/Spinner/Spinner.js +1 -39
- package/dist/Atomic/UI/Accordion/Accordion.js +1 -118
- package/dist/Atomic/UI/Accordion/AccordionItem.js +1 -181
- package/dist/Atomic/UI/AccordionTable/AccordionTable.js +1 -238
- package/dist/Atomic/UI/AccordionText/AccordionText.js +1 -69
- package/dist/Atomic/UI/AdvancedTag/AdvTag.js +1 -207
- package/dist/Atomic/UI/AdvancedTag/AdvancedTags.js +1 -56
- package/dist/Atomic/UI/Alert/Alert.js +1 -72
- package/dist/Atomic/UI/Arrow/Arrow.js +1 -132
- package/dist/Atomic/UI/Box/Box.js +1 -52
- package/dist/Atomic/UI/Button/Button.js +1 -89
- package/dist/Atomic/UI/ButtonsBar/ButtonsBar.js +1 -72
- package/dist/Atomic/UI/Chart/Chart.js +1 -172
- package/dist/Atomic/UI/Chart/partial/Chart.constants.js +1 -95
- package/dist/Atomic/UI/Chart/partial/ChartTypeSwitcherIcon/ChartTypeSwitcherIcon.js +1 -80
- package/dist/Atomic/UI/Chart/partial/datasetSetters.js +1 -188
- package/dist/Atomic/UI/Chart/partial/optionsConstructor.js +1 -335
- package/dist/Atomic/UI/Chart/partial/optionsSetters.js +1 -43
- package/dist/Atomic/UI/Chart/partial/utils.js +1 -60
- package/dist/Atomic/UI/CircleProgressBar/CircleProgressBar.js +1 -109
- package/dist/Atomic/UI/DateTime/DateTime.js +1 -57
- package/dist/Atomic/UI/DebugContainer/DebugContainer.js +1 -44
- package/dist/Atomic/UI/DebugContainer/useDebugContainer.js +1 -15
- package/dist/Atomic/UI/DoubleString/DoubleString.js +1 -102
- package/dist/Atomic/UI/DynamicIcon/DynamicIcon.js +1 -226
- package/dist/Atomic/UI/ExampleChartIntegration/ExampleChartIntegration.js +1 -221
- package/dist/Atomic/UI/ExampleChartIntegration/partial/utils.js +1 -106
- package/dist/Atomic/UI/Hint/Hint.js +1 -193
- package/dist/Atomic/UI/Hint/partials/_utils.js +1 -51
- package/dist/Atomic/UI/Modal/Modal.js +1 -188
- package/dist/Atomic/UI/Modal/ModalHOC.js +1 -72
- package/dist/Atomic/UI/Modal/partials/ModalFooter.js +1 -46
- package/dist/Atomic/UI/Modal/partials/ModalTitle.js +1 -83
- package/dist/Atomic/UI/Modal/partials/useMobileModal.js +1 -200
- package/dist/Atomic/UI/MonoAccordion/MonoAccordion._test.js +1 -75
- package/dist/Atomic/UI/MonoAccordion/MonoAccordion.js +1 -80
- package/dist/Atomic/UI/NavLine/NavLine.js +1 -293
- package/dist/Atomic/UI/PageTitle/PageTitle.js +1 -75
- package/dist/Atomic/UI/PieChart/PieChart.js +1 -42
- package/dist/Atomic/UI/Price/Price.js +1 -22
- package/dist/Atomic/UI/PriceRange/PriceRange.js +1 -36
- package/dist/Atomic/UI/ProgressLine/ProgressLine.js +1 -71
- package/dist/Atomic/UI/Status/Status.js +1 -59
- package/dist/Atomic/UI/Table/Partials/TdCell.js +1 -87
- package/dist/Atomic/UI/Table/Partials/TdHeader.js +1 -38
- package/dist/Atomic/UI/Table/Partials/TdRow.js +1 -99
- package/dist/Atomic/UI/Table/Partials/TdTitle.js +1 -52
- package/dist/Atomic/UI/Table/Table.js +1 -63
- package/dist/Atomic/UI/Table/TdTypes/TdActions.js +1 -80
- package/dist/Atomic/UI/Table/TdTypes/TdPriority.js +1 -28
- package/dist/Atomic/UI/Table/TdTypes/TdRange.js +1 -13
- package/dist/Atomic/UI/Table/TdTypes/TdWeight.js +1 -53
- package/dist/Atomic/UI/Tag/Tag.js +1 -160
- package/dist/Atomic/UI/TagList/TagList.js +1 -251
- package/dist/Atomic/UI/UserBox/UserBox.js +1 -73
- package/dist/Atomic/UI/WizardStepper/constructor.js +1 -84
- package/dist/Atomic/UI/WizardStepper/index.js +1 -3
- package/dist/Atomic/UI/WizardStepper/ui/StateIcon/StateIcon.js +1 -37
- package/dist/Atomic/UI/WizardStepper/ui/StateIcon/index.js +1 -3
- package/dist/Atomic/UI/WizardStepper/ui/StepRow/StepRow.js +1 -61
- package/dist/Atomic/UI/WizardStepper/ui/StepRow/index.js +1 -3
- package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/StepWrapper.js +1 -39
- package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/index.js +1 -3
- package/dist/Atomic/UI/WizardStepper/ui/icons.js +1 -49
- package/dist/Atomic/UI/WizardStepper/ui/index.js +1 -3
- package/dist/Classes/AbortableFetch.js +1 -454
- package/dist/Classes/AnimatedHandler.js +1 -47
- package/dist/Classes/RESTAPI/index.js +1 -228
- package/dist/Classes/RESTAPI/partials/AbortableFetch.js +1 -457
- package/dist/Classes/RESTAPI/partials/ApiBase.js +1 -48
- package/dist/Classes/RESTAPI/partials/ApiRequestCreators.js +1 -112
- package/dist/Classes/RESTAPI/partials/ApiUtils.js +1 -189
- package/dist/Classes/RESTAPI/partials/CredentialsProcessing.js +1 -252
- package/dist/Classes/RESTAPI/partials/Utils.js +1 -92
- package/dist/Classes/RESTAPI/partials/_outerDependencies.js +1 -3
- package/dist/Classes/RESTAPI/partials/_utils.js +1 -197
- package/dist/Constants/index.constants.js +1 -78
- package/dist/Functions/Portal.js +1 -22
- package/dist/Functions/customEventListener.js +1 -96
- package/dist/Functions/dateTime.js +1 -149
- package/dist/Functions/fieldValueFormatters.js +1 -405
- package/dist/Functions/guards/assertions.js +1 -66
- package/dist/Functions/guards/safeValue.js +1 -30
- package/dist/Functions/guards/typeGuards.js +1 -116
- package/dist/Functions/hooks/useFormFieldsChangesManager.js +1 -95
- package/dist/Functions/locale/createTranslator.js +1 -32
- package/dist/Functions/operations.js +1 -130
- package/dist/Functions/presets/inputMaskPresets.js +1 -170
- package/dist/Functions/presets/inputPresets.js +1 -60
- package/dist/Functions/presets/mobileKeyboardTypesPresets.js +1 -45
- package/dist/Functions/schemas.js +1 -31
- package/dist/Functions/useBodyScrollLock.js +1 -17
- package/dist/Functions/useClickOutside.js +1 -15
- package/dist/Functions/useDebounce.js +1 -17
- package/dist/Functions/useFieldFocus.js +1 -84
- package/dist/Functions/useFormTools/form-drivers/ArrayWithObjects.js +1 -39
- package/dist/Functions/useFormTools/form-drivers/ObjectWithIterableObjects.js +1 -159
- package/dist/Functions/useFormTools/form-drivers/ObjectWithNamedKeyObjects.js +1 -78
- package/dist/Functions/useFormTools/functions/General.js +1 -134
- package/dist/Functions/useFormTools/functions/RenderFields.js +1 -111
- package/dist/Functions/useFormTools/functions/usePrevious.js +1 -12
- package/dist/Functions/useFormTools/index.js +1 -778
- package/dist/Functions/useInputHighlightError.js +1 -67
- package/dist/Functions/useIsMobile/useIsMobile.js +1 -53
- package/dist/Functions/useKeyPress/useHandleKeyPress.js +1 -21
- package/dist/Functions/useKeyPress/useKeyPress.js +1 -75
- package/dist/Functions/useLocalStorage.js +1 -34
- package/dist/Functions/useLocationParams.js +1 -27
- package/dist/Functions/useMediaQuery.js +1 -17
- package/dist/Functions/useMetaInfo.js +1 -43
- package/dist/Functions/useMouseUpOutside.js +1 -16
- package/dist/Functions/useOnlineStatus.js +1 -29
- package/dist/Functions/usePasswordChecker.js +1 -110
- package/dist/Functions/usePrevious.js +1 -12
- package/dist/Functions/useResize.js +1 -31
- package/dist/Functions/useScrollTo.js +1 -17
- package/dist/Functions/useToggle.js +1 -17
- package/dist/Functions/utils.js +1 -522
- package/dist/Langs.js +1 -168
- package/dist/Molecular/CustomIcons/components/AffiliateNetworks.js +1 -21
- package/dist/Molecular/CustomIcons/components/AlertCircle.js +1 -23
- package/dist/Molecular/CustomIcons/components/AppStore.js +1 -29
- package/dist/Molecular/CustomIcons/components/Arrow.js +1 -32
- package/dist/Molecular/CustomIcons/components/ArrowDown.js +1 -17
- package/dist/Molecular/CustomIcons/components/ArrowLeft.js +1 -22
- package/dist/Molecular/CustomIcons/components/ArrowRight.js +1 -22
- package/dist/Molecular/CustomIcons/components/ArrowUp.js +1 -17
- package/dist/Molecular/CustomIcons/components/Bell.js +1 -15
- package/dist/Molecular/CustomIcons/components/Button.js +1 -12
- package/dist/Molecular/CustomIcons/components/Campaigns.js +1 -16
- package/dist/Molecular/CustomIcons/components/Check.js +1 -14
- package/dist/Molecular/CustomIcons/components/Check2.js +1 -12
- package/dist/Molecular/CustomIcons/components/ChevronDown.js +1 -12
- package/dist/Molecular/CustomIcons/components/ChevronDownDisabled.js +1 -11
- package/dist/Molecular/CustomIcons/components/ChevronLeft.js +1 -11
- package/dist/Molecular/CustomIcons/components/ChevronRight.js +1 -11
- package/dist/Molecular/CustomIcons/components/ChevronUp.js +1 -11
- package/dist/Molecular/CustomIcons/components/ChevronUpDown.js +1 -27
- package/dist/Molecular/CustomIcons/components/Close.js +1 -14
- package/dist/Molecular/CustomIcons/components/ColumnsOrder.js +1 -17
- package/dist/Molecular/CustomIcons/components/Delete.js +1 -16
- package/dist/Molecular/CustomIcons/components/Edit.js +1 -15
- package/dist/Molecular/CustomIcons/components/Email.js +1 -31
- package/dist/Molecular/CustomIcons/components/FinturfLogo.js +1 -18
- package/dist/Molecular/CustomIcons/components/FinturfLogo2.js +1 -35
- package/dist/Molecular/CustomIcons/components/Flows.js +1 -15
- package/dist/Molecular/CustomIcons/components/Gift.js +1 -25
- package/dist/Molecular/CustomIcons/components/GoogleAuth.js +1 -29
- package/dist/Molecular/CustomIcons/components/GooglePlay.js +1 -29
- package/dist/Molecular/CustomIcons/components/HelpCircle.js +1 -19
- package/dist/Molecular/CustomIcons/components/HelpCircle2.js +1 -20
- package/dist/Molecular/CustomIcons/components/HelpCircleFilled.js +1 -19
- package/dist/Molecular/CustomIcons/components/Home.js +1 -16
- package/dist/Molecular/CustomIcons/components/Home2.js +1 -22
- package/dist/Molecular/CustomIcons/components/Key.js +1 -23
- package/dist/Molecular/CustomIcons/components/Landers.js +1 -20
- package/dist/Molecular/CustomIcons/components/Lock.js +1 -15
- package/dist/Molecular/CustomIcons/components/Mail.js +1 -26
- package/dist/Molecular/CustomIcons/components/Mastercard.js +1 -73
- package/dist/Molecular/CustomIcons/components/Minus.js +1 -25
- package/dist/Molecular/CustomIcons/components/Offers.js +1 -16
- package/dist/Molecular/CustomIcons/components/Pause.js +1 -28
- package/dist/Molecular/CustomIcons/components/PayPal.js +1 -41
- package/dist/Molecular/CustomIcons/components/PayPalLightLarge.js +1 -28
- package/dist/Molecular/CustomIcons/components/Phone.js +1 -30
- package/dist/Molecular/CustomIcons/components/Play.js +1 -25
- package/dist/Molecular/CustomIcons/components/Plus.js +1 -25
- package/dist/Molecular/CustomIcons/components/Profile.js +1 -16
- package/dist/Molecular/CustomIcons/components/QRCode.js +1 -29
- package/dist/Molecular/CustomIcons/components/Rectangle.js +1 -12
- package/dist/Molecular/CustomIcons/components/Revert.js +1 -13
- package/dist/Molecular/CustomIcons/components/Star.js +1 -14
- package/dist/Molecular/CustomIcons/components/Star2.js +1 -16
- package/dist/Molecular/CustomIcons/components/TrafficSources.js +1 -14
- package/dist/Molecular/CustomIcons/components/Trash.js +1 -15
- package/dist/Molecular/CustomIcons/components/TrashRed.js +1 -15
- package/dist/Molecular/CustomIcons/components/Triggers.js +1 -15
- package/dist/Molecular/CustomIcons/components/User.js +1 -25
- package/dist/Molecular/CustomIcons/components/Visa.js +1 -31
- package/dist/Molecular/CustomIcons/components/X.js +1 -12
- package/dist/Molecular/CustomIcons/index.js +1 -61
- package/dist/Molecular/FormElement/FormElement.js +1 -54
- package/dist/Molecular/FormWithDependOn/FormWithDependOn.js +1 -184
- package/dist/Molecular/FormWithDependOn/partials/_utils.js +1 -53
- package/dist/Molecular/InputAddress/InputAddress.js +1 -620
- package/dist/Molecular/InputPassword/InputPassword.js +1 -48
- package/dist/index.js +1 -1
- package/package.json +1 -1
|
@@ -1,84 +1 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export default function useFieldsFocus({ form, setForm }) {
|
|
4
|
-
const isFormAsObject = Boolean(
|
|
5
|
-
typeof form === "object" && !Array.isArray(form),
|
|
6
|
-
);
|
|
7
|
-
|
|
8
|
-
const getField = (key) => {
|
|
9
|
-
if (isFormAsObject) {
|
|
10
|
-
return (
|
|
11
|
-
form?.[key] ?? Object.values(form)?.find((field) => field.key === key)
|
|
12
|
-
);
|
|
13
|
-
} else {
|
|
14
|
-
return form?.find((field) => field.key === key);
|
|
15
|
-
}
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
const getErroredFields = () => {
|
|
19
|
-
if (isFormAsObject) {
|
|
20
|
-
return Object.values(form)?.filter((field) => field.error);
|
|
21
|
-
} else {
|
|
22
|
-
return form?.filter((f) => f?.error);
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
const addRefsToFields = () => {
|
|
27
|
-
if (isFormAsObject) {
|
|
28
|
-
setForm((form) => {
|
|
29
|
-
return Object.keys(form)?.reduce((result, key) => {
|
|
30
|
-
const field = form[key];
|
|
31
|
-
return {
|
|
32
|
-
...result,
|
|
33
|
-
[key]: {
|
|
34
|
-
...field,
|
|
35
|
-
ref: createRef(),
|
|
36
|
-
wrapperRef: createRef(),
|
|
37
|
-
},
|
|
38
|
-
};
|
|
39
|
-
}, {});
|
|
40
|
-
});
|
|
41
|
-
} else {
|
|
42
|
-
setForm((form) => {
|
|
43
|
-
return form?.map((field) => {
|
|
44
|
-
field.ref = createRef();
|
|
45
|
-
field.wrapperRef = createRef();
|
|
46
|
-
|
|
47
|
-
return field;
|
|
48
|
-
});
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
const toggleFieldFocus = ({ field, action = "focus" }) => {
|
|
54
|
-
if (!field || !field?.ref) return null;
|
|
55
|
-
|
|
56
|
-
setTimeout(() => {
|
|
57
|
-
field.ref.current
|
|
58
|
-
?.querySelector(field?.focusSelector || "input")
|
|
59
|
-
?.[action]();
|
|
60
|
-
}, 50);
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
const setFocusTo = (key) => {
|
|
64
|
-
const field = getField(key);
|
|
65
|
-
if (!field) return false;
|
|
66
|
-
|
|
67
|
-
toggleFieldFocus({ field });
|
|
68
|
-
};
|
|
69
|
-
const setFocusToErroredField = () => {
|
|
70
|
-
const field = getErroredFields()?.[0];
|
|
71
|
-
if (!field) return false;
|
|
72
|
-
|
|
73
|
-
toggleFieldFocus({ field });
|
|
74
|
-
};
|
|
75
|
-
|
|
76
|
-
useEffect(() => {
|
|
77
|
-
addRefsToFields();
|
|
78
|
-
}, [form?.length]);
|
|
79
|
-
|
|
80
|
-
return {
|
|
81
|
-
setFocusTo,
|
|
82
|
-
setFocusToErroredField,
|
|
83
|
-
};
|
|
84
|
-
}
|
|
1
|
+
function e(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function r(r){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{},o=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),o.forEach(function(n){e(r,n,t[n])})}return r}function n(e,r){return r=null!=r?r:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):(function(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n.push.apply(n,t)}return n})(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))}),e}import{createRef as t,useEffect as o}from"react";export default function u(u){var i=u.form,c=u.setForm,l=!!((void 0===i?"undefined":i&&"undefined"!=typeof Symbol&&i.constructor===Symbol?"symbol":typeof i)=="object"&&!Array.isArray(i)),f=function(e){var r,n;return l?null!=(n=null==i?void 0:i[e])?n:null==(r=Object.values(i))?void 0:r.find(function(r){return r.key===e}):null==i?void 0:i.find(function(r){return r.key===e})},a=function(){var e;return l?null==(e=Object.values(i))?void 0:e.filter(function(e){return e.error}):null==i?void 0:i.filter(function(e){return null==e?void 0:e.error})},d=function(){l?c(function(o){var u;return null==(u=Object.keys(o))?void 0:u.reduce(function(u,i){var c=o[i];return n(r({},u),e({},i,n(r({},c),{ref:t(),wrapperRef:t()})))},{})}):c(function(e){return null==e?void 0:e.map(function(e){return e.ref=t(),e.wrapperRef=t(),e})})},v=function(e){var r=e.field,n=e.action,t=void 0===n?"focus":n;if(!r||!(null==r?void 0:r.ref))return null;setTimeout(function(){var e,n;null==(n=r.ref.current)||null==(e=n.querySelector((null==r?void 0:r.focusSelector)||"input"))||e[t]()},50)};return o(function(){d()},[null==i?void 0:i.length]),{setFocusTo:function(e){var r=f(e);if(!r)return!1;v({field:r})},setFocusToErroredField:function(){var e,r=null==(e=a())?void 0:e[0];if(!r)return!1;v({field:r})}}}
|
|
@@ -1,39 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
export default function ArrayWithObjects({ form, setForm, FormFields }) {
|
|
4
|
-
const {
|
|
5
|
-
joinData,
|
|
6
|
-
getFieldData,
|
|
7
|
-
updateFormField,
|
|
8
|
-
getFormFields,
|
|
9
|
-
getFormFieldsAsArray,
|
|
10
|
-
getFormFieldsKeys,
|
|
11
|
-
} = General({
|
|
12
|
-
FormFields,
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
const getFormField = (key, argForm = form) => {
|
|
16
|
-
return getFormFields(argForm)?.find((f) => f.key === key);
|
|
17
|
-
};
|
|
18
|
-
const setFormFields = (data) => {
|
|
19
|
-
const isFunction = typeof data === "function";
|
|
20
|
-
setForm((state) => (isFunction ? data(state) : data));
|
|
21
|
-
};
|
|
22
|
-
const setFormField = (data, key = null) =>
|
|
23
|
-
setFormFields((fields) => updateFormField(fields, data, key));
|
|
24
|
-
|
|
25
|
-
const removeAllFormFields = () => setFormFields([]);
|
|
26
|
-
|
|
27
|
-
return {
|
|
28
|
-
joinData,
|
|
29
|
-
getFieldData,
|
|
30
|
-
getFormFields,
|
|
31
|
-
getFormField,
|
|
32
|
-
setFormFields,
|
|
33
|
-
setFormField,
|
|
34
|
-
getFormFieldsAsArray: (fields) =>
|
|
35
|
-
getFormFieldsAsArray(fields || getFormFields()),
|
|
36
|
-
getFormFieldsKeys: (fields) => getFormFieldsKeys(fields || getFormFields()),
|
|
37
|
-
removeAllFormFields,
|
|
38
|
-
};
|
|
39
|
-
}
|
|
1
|
+
import e from"../functions/General";export default function r(r){var t=r.form,n=r.setForm,o=e({FormFields:r.FormFields}),i=o.joinData,F=o.getFieldData,l=o.updateFormField,u=o.getFormFields,d=o.getFormFieldsAsArray,m=o.getFormFieldsKeys,s=function(e){var r="function"==typeof e;n(function(t){return r?e(t):e})};return{joinData:i,getFieldData:F,getFormFields:u,getFormField:function(e){var r,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t;return null==(r=u(n))?void 0:r.find(function(r){return r.key===e})},setFormFields:s,setFormField:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return s(function(t){return l(t,e,r)})},getFormFieldsAsArray:function(e){return d(e||u())},getFormFieldsKeys:function(e){return m(e||u())},removeAllFormFields:function(){return s([])}}}
|
|
@@ -1,159 +1 @@
|
|
|
1
|
-
export default function
|
|
2
|
-
form,
|
|
3
|
-
setForm,
|
|
4
|
-
FormFields,
|
|
5
|
-
}) {
|
|
6
|
-
const joinData = (...args) => {
|
|
7
|
-
const [mainArg] = args;
|
|
8
|
-
const MainArgProto = Array.isArray(mainArg)
|
|
9
|
-
? "Array"
|
|
10
|
-
: typeof mainArg === "object"
|
|
11
|
-
? "Object"
|
|
12
|
-
: undefined;
|
|
13
|
-
const template = Array.isArray(mainArg)
|
|
14
|
-
? []
|
|
15
|
-
: typeof mainArg === "object"
|
|
16
|
-
? {}
|
|
17
|
-
: null;
|
|
18
|
-
|
|
19
|
-
if (!template) return undefined;
|
|
20
|
-
|
|
21
|
-
return args.reduce((result, item) => {
|
|
22
|
-
if (MainArgProto === "Array") {
|
|
23
|
-
if (Array.isArray(item)) {
|
|
24
|
-
return [...result, ...item];
|
|
25
|
-
} else {
|
|
26
|
-
return [...result, item];
|
|
27
|
-
}
|
|
28
|
-
} else if (MainArgProto === "Object") {
|
|
29
|
-
return { ...result, ...item };
|
|
30
|
-
} else {
|
|
31
|
-
return template;
|
|
32
|
-
}
|
|
33
|
-
}, template);
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
const getFieldData = (key) => {
|
|
37
|
-
if (Array.isArray(FormFields)) {
|
|
38
|
-
return FormFields[key] || FormFields.find((f) => f.key === key);
|
|
39
|
-
} else if (typeof FormFields === "object") {
|
|
40
|
-
return (
|
|
41
|
-
FormFields[key] || Object.values(FormFields).find((f) => f.key === key)
|
|
42
|
-
);
|
|
43
|
-
} else {
|
|
44
|
-
return undefined;
|
|
45
|
-
}
|
|
46
|
-
};
|
|
47
|
-
const getFormFields = () => {
|
|
48
|
-
return form.fields || form;
|
|
49
|
-
};
|
|
50
|
-
const getFormField = (key) => {
|
|
51
|
-
// eslint-disable-next-line no-undef
|
|
52
|
-
if (FormProto === "Array") {
|
|
53
|
-
return getFormFields().find((field) => field.key === key);
|
|
54
|
-
// eslint-disable-next-line no-undef
|
|
55
|
-
} else if (FormProto === "Object") {
|
|
56
|
-
return (
|
|
57
|
-
Object.values(getFormFields()).find((field) => field.key === key) ||
|
|
58
|
-
Object.keys(getFormFields()).reduce((result, field) => {
|
|
59
|
-
if (field === key) result = getFormFields()[field];
|
|
60
|
-
return result;
|
|
61
|
-
}, {})
|
|
62
|
-
);
|
|
63
|
-
} else {
|
|
64
|
-
return undefined;
|
|
65
|
-
}
|
|
66
|
-
};
|
|
67
|
-
const setFormFields = (data) => {
|
|
68
|
-
const isFunction = typeof data === "function";
|
|
69
|
-
|
|
70
|
-
setForm((state) => {
|
|
71
|
-
if (state.fields) {
|
|
72
|
-
return {
|
|
73
|
-
...state,
|
|
74
|
-
fields: isFunction ? data(state.fields) : data,
|
|
75
|
-
};
|
|
76
|
-
} else {
|
|
77
|
-
return isFunction ? data(state) : data;
|
|
78
|
-
}
|
|
79
|
-
});
|
|
80
|
-
};
|
|
81
|
-
const setFormField = (data, key = null) => {
|
|
82
|
-
const isFunction = typeof data === "function";
|
|
83
|
-
|
|
84
|
-
setFormFields((fields) => {
|
|
85
|
-
const pop = (fields, key) => {
|
|
86
|
-
const result = { fields, item: undefined };
|
|
87
|
-
|
|
88
|
-
result.item = fields[key] || fields.find((f) => f.key === key);
|
|
89
|
-
|
|
90
|
-
if (!result.item) return result;
|
|
91
|
-
|
|
92
|
-
if (Array.isArray(fields)) {
|
|
93
|
-
const index = parseInt(key, 10);
|
|
94
|
-
if (!isNaN(index)) {
|
|
95
|
-
result.fields.splice(key, 1);
|
|
96
|
-
} else {
|
|
97
|
-
result.fields = result.fields.filter((f) => f.key !== key);
|
|
98
|
-
}
|
|
99
|
-
} else if (typeof fields === "object") {
|
|
100
|
-
result.fields = Object.values(fields).reduce(
|
|
101
|
-
(object, { key: fKey }) => {
|
|
102
|
-
if (key !== fKey) {
|
|
103
|
-
object[key] = fields[key];
|
|
104
|
-
}
|
|
105
|
-
return object;
|
|
106
|
-
},
|
|
107
|
-
{},
|
|
108
|
-
);
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
return result;
|
|
112
|
-
};
|
|
113
|
-
const update = (fields) => {
|
|
114
|
-
//KEY is NULLable
|
|
115
|
-
if (!key) {
|
|
116
|
-
return data.key
|
|
117
|
-
? Object.values(fields).reduce((result, field, i) => {
|
|
118
|
-
const index = fields[field.key] ? field.key : i;
|
|
119
|
-
|
|
120
|
-
return {
|
|
121
|
-
...result,
|
|
122
|
-
[index]:
|
|
123
|
-
data.key === field.key
|
|
124
|
-
? isFunction
|
|
125
|
-
? data(field)
|
|
126
|
-
: data
|
|
127
|
-
: field,
|
|
128
|
-
};
|
|
129
|
-
}, {})
|
|
130
|
-
: {
|
|
131
|
-
...fields,
|
|
132
|
-
[fields.length || 0]: isFunction ? data({}) : data,
|
|
133
|
-
};
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
const { fields: filtered, item: field } = pop(fields, key);
|
|
137
|
-
|
|
138
|
-
const updatedField = isFunction
|
|
139
|
-
? data(field || {})
|
|
140
|
-
: { ...field, ...data };
|
|
141
|
-
return joinData(
|
|
142
|
-
filtered,
|
|
143
|
-
fields[key] ? { [key]: updatedField } : updatedField,
|
|
144
|
-
);
|
|
145
|
-
};
|
|
146
|
-
|
|
147
|
-
return update(fields);
|
|
148
|
-
});
|
|
149
|
-
};
|
|
150
|
-
|
|
151
|
-
return {
|
|
152
|
-
joinData,
|
|
153
|
-
getFieldData,
|
|
154
|
-
getFormFields,
|
|
155
|
-
getFormField,
|
|
156
|
-
setFormFields,
|
|
157
|
-
setFormField,
|
|
158
|
-
};
|
|
159
|
-
}
|
|
1
|
+
function r(r,e){(null==e||e>r.length)&&(e=r.length);for(var t=0,n=Array(e);t<e;t++)n[t]=r[t];return n}function e(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function t(r){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},o=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(n).filter(function(r){return Object.getOwnPropertyDescriptor(n,r).enumerable}))),o.forEach(function(t){e(r,t,n[t])})}return r}function n(r,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(e)):(function(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);t.push.apply(t,n)}return t})(Object(e)).forEach(function(t){Object.defineProperty(r,t,Object.getOwnPropertyDescriptor(e,t))}),r}function o(e){return function(e){if(Array.isArray(e))return r(e)}(e)||function(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r)}(e)||u(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(r){return r&&"undefined"!=typeof Symbol&&r.constructor===Symbol?"symbol":typeof r}function u(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return r(e,t)}}export default function c(r){var c=r.form,f=r.setForm,a=r.FormFields,l=function(){for(var r=arguments.length,e=Array(r),n=0;n<r;n++)e[n]=arguments[n];var c=(function(r){if(Array.isArray(r))return r}(e)||function(r,e){var t,n,o=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=o){var i=[],u=!0,c=!1;try{for(o=o.call(r);!(u=(t=o.next()).done)&&(i.push(t.value),i.length!==e);u=!0);}catch(r){c=!0,n=r}finally{try{u||null==o.return||o.return()}finally{if(c)throw n}}return i}}(e,1)||u(e,1)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())[0],f=Array.isArray(c)?"Array":(void 0===c?"undefined":i(c))==="object"?"Object":void 0,a=Array.isArray(c)?[]:(void 0===c?"undefined":i(c))==="object"?{}:null;if(a)return e.reduce(function(r,e){if("Array"===f)if(Array.isArray(e))return o(r).concat(o(e));else return o(r).concat([e]);return"Object"===f?t({},r,e):a},a)},y=function(){return c.fields||c},s=function(r){var e="function"==typeof r;f(function(o){return o.fields?n(t({},o),{fields:e?r(o.fields):r}):e?r(o):r})};return{joinData:l,getFieldData:function(r){return Array.isArray(a)?a[r]||a.find(function(e){return e.key===r}):(void 0===a?"undefined":i(a))==="object"?a[r]||Object.values(a).find(function(e){return e.key===r}):void 0},getFormFields:y,getFormField:function(r){return"Array"===FormProto?y().find(function(e){return e.key===r}):"Object"===FormProto?Object.values(y()).find(function(e){return e.key===r})||Object.keys(y()).reduce(function(e,t){return t===r&&(e=y()[t]),e},{}):void 0},setFormFields:s,setFormField:function(r){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,u="function"==typeof r;s(function(c){if(!o)return r.key?Object.values(c).reduce(function(o,i,f){var a=c[i.key]?i.key:f;return n(t({},o),e({},a,r.key===i.key?u?r(i):r:i))},{}):n(t({},c),e({},c.length||0,u?r({}):r));var f,a,y,s=(f=c,a=o,(y={fields:f,item:void 0}).item=f[a]||f.find(function(r){return r.key===a}),y.item&&(Array.isArray(f)?isNaN(parseInt(a,10))?y.fields=y.fields.filter(function(r){return r.key!==a}):y.fields.splice(a,1):(void 0===f?"undefined":i(f))==="object"&&(y.fields=Object.values(f).reduce(function(r,e){return a!==e.key&&(r[a]=f[a]),r},{}))),y),d=s.fields,b=s.item,m=u?r(b||{}):t({},b,r);return l(d,c[o]?e({},o,m):m)})}}}
|
|
@@ -1,78 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
const noop = () => {};
|
|
4
|
-
|
|
5
|
-
export default function ObjectWithNamedKeyObjects({
|
|
6
|
-
form,
|
|
7
|
-
setForm = noop,
|
|
8
|
-
FormFields,
|
|
9
|
-
} = {}) {
|
|
10
|
-
const {
|
|
11
|
-
joinData,
|
|
12
|
-
getFieldData,
|
|
13
|
-
updateFormField,
|
|
14
|
-
getFormFields,
|
|
15
|
-
getFormFieldsAsArray,
|
|
16
|
-
getFormFieldsKeys,
|
|
17
|
-
} = General({
|
|
18
|
-
FormFields,
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
const getFormField = (key, argForm = form) => {
|
|
22
|
-
return (
|
|
23
|
-
Object.values(getFormFields(argForm))?.find(
|
|
24
|
-
(field) => field?.key === key,
|
|
25
|
-
) ||
|
|
26
|
-
Object.keys(getFormFields(argForm))?.reduce((result, field) => {
|
|
27
|
-
if (field === key) result = getFormFields(argForm)[field];
|
|
28
|
-
return result;
|
|
29
|
-
}, null)
|
|
30
|
-
);
|
|
31
|
-
};
|
|
32
|
-
const setFormFields = (data) => {
|
|
33
|
-
const isFunction = typeof data === "function";
|
|
34
|
-
|
|
35
|
-
setForm((state) => {
|
|
36
|
-
if (state.fields) {
|
|
37
|
-
return {
|
|
38
|
-
...state,
|
|
39
|
-
fields: isFunction ? data(state.fields) : data,
|
|
40
|
-
};
|
|
41
|
-
} else {
|
|
42
|
-
return isFunction ? data(state) : data;
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
};
|
|
46
|
-
const setFormField = (data, key = null) =>
|
|
47
|
-
setFormFields((fields) => updateFormField(fields, data, key));
|
|
48
|
-
|
|
49
|
-
const removeAllFormFields = () => setFormFields({});
|
|
50
|
-
const removeFormField = (key) =>
|
|
51
|
-
setFormFields((state) =>
|
|
52
|
-
Object.keys(state)
|
|
53
|
-
.filter((fKey) => fKey !== key)
|
|
54
|
-
.reduce((obj, key) => ({ ...obj, [key]: state[key] }), {}),
|
|
55
|
-
);
|
|
56
|
-
const removeFormFields = ([...keys]) =>
|
|
57
|
-
setFormFields((state) =>
|
|
58
|
-
Object.keys(state)
|
|
59
|
-
.filter((fKey) => !keys.includes(fKey))
|
|
60
|
-
.reduce((obj, key) => ({ ...obj, [key]: state[key] }), {}),
|
|
61
|
-
);
|
|
62
|
-
|
|
63
|
-
return {
|
|
64
|
-
joinData,
|
|
65
|
-
getFieldData,
|
|
66
|
-
getFormFields,
|
|
67
|
-
getFormField,
|
|
68
|
-
setFormFields,
|
|
69
|
-
setFormField,
|
|
70
|
-
// eslint-disable-next-line no-dupe-keys
|
|
71
|
-
getFormFields: () => getFormFields(form),
|
|
72
|
-
getFormFieldsAsArray: () => getFormFieldsAsArray(getFormFields(form)),
|
|
73
|
-
getFormFieldsKeys: () => getFormFieldsKeys(getFormFields(form)),
|
|
74
|
-
removeAllFormFields,
|
|
75
|
-
removeFormField,
|
|
76
|
-
removeFormFields,
|
|
77
|
-
};
|
|
78
|
-
}
|
|
1
|
+
function e(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=Array(r);t<r;t++)n[t]=e[t];return n}function r(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function t(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},o=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),o.forEach(function(t){r(e,t,n[t])})}return e}function n(e,r){return r=null!=r?r:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):(function(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}),e}import o from"../functions/General";var i=function(){};export default function u(){var u,c=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},l=c.form,f=c.setForm,a=void 0===f?i:f,s=o({FormFields:c.FormFields}),d=s.joinData,y=s.getFieldData,m=s.updateFormField,b=s.getFormFields,F=s.getFormFieldsAsArray,p=s.getFormFieldsKeys,g=function(e){var r="function"==typeof e;a(function(o){return o.fields?n(t({},o),{fields:r?e(o.fields):e}):r?e(o):e})};return r(u={joinData:d,getFieldData:y,getFormFields:b,getFormField:function(e){var r,t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:l;return(null==(r=Object.values(b(n)))?void 0:r.find(function(r){return(null==r?void 0:r.key)===e}))||(null==(t=Object.keys(b(n)))?void 0:t.reduce(function(r,t){return t===e&&(r=b(n)[t]),r},null))},setFormFields:g,setFormField:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return g(function(t){return m(t,e,r)})}},"getFormFields",function(){return b(l)}),r(u,"getFormFieldsAsArray",function(){return F(b(l))}),r(u,"getFormFieldsKeys",function(){return p(b(l))}),r(u,"removeAllFormFields",function(){return g({})}),r(u,"removeFormField",function(e){return g(function(o){return Object.keys(o).filter(function(r){return r!==e}).reduce(function(e,i){return n(t({},e),r({},i,o[i]))},{})})}),r(u,"removeFormFields",function(o){var i=((function(e){if(Array.isArray(e))return e})(o)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(o)||function(r,t){if(r){if("string"==typeof r)return e(r,void 0);var n=Object.prototype.toString.call(r).slice(8,-1);if("Object"===n&&r.constructor&&(n=r.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return e(r,t)}}(o)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).slice(0);return g(function(e){return Object.keys(e).filter(function(e){return!i.includes(e)}).reduce(function(o,i){return n(t({},o),r({},i,e[i]))},{})})}),u}
|
|
@@ -1,134 +1 @@
|
|
|
1
|
-
export default function
|
|
2
|
-
const joinData = (...args) => {
|
|
3
|
-
const [mainArg] = args;
|
|
4
|
-
const MainArgProto = Array.isArray(mainArg)
|
|
5
|
-
? "Array"
|
|
6
|
-
: typeof mainArg === "object"
|
|
7
|
-
? "Object"
|
|
8
|
-
: undefined;
|
|
9
|
-
const template = Array.isArray(mainArg)
|
|
10
|
-
? []
|
|
11
|
-
: typeof mainArg === "object"
|
|
12
|
-
? {}
|
|
13
|
-
: null;
|
|
14
|
-
|
|
15
|
-
if (!template) return undefined;
|
|
16
|
-
|
|
17
|
-
return args.reduce((result, item) => {
|
|
18
|
-
if (MainArgProto === "Array") {
|
|
19
|
-
if (Array.isArray(item)) {
|
|
20
|
-
return [...result, ...item];
|
|
21
|
-
} else {
|
|
22
|
-
return [...result, item];
|
|
23
|
-
}
|
|
24
|
-
} else if (MainArgProto === "Object") {
|
|
25
|
-
return { ...result, ...item };
|
|
26
|
-
} else {
|
|
27
|
-
return template;
|
|
28
|
-
}
|
|
29
|
-
}, template);
|
|
30
|
-
};
|
|
31
|
-
const getFieldData = (key) => {
|
|
32
|
-
if (Array.isArray(FormFields)) {
|
|
33
|
-
if (FormFields[key]) {
|
|
34
|
-
return { ...FormFields[key] };
|
|
35
|
-
} else {
|
|
36
|
-
return { ...FormFields.find((f) => f.key === key) };
|
|
37
|
-
}
|
|
38
|
-
} else if (typeof FormFields === "object") {
|
|
39
|
-
return (
|
|
40
|
-
{ ...FormFields[key] } || {
|
|
41
|
-
...Object.values(FormFields).find((f) => f.key === key),
|
|
42
|
-
}
|
|
43
|
-
);
|
|
44
|
-
} else {
|
|
45
|
-
return undefined;
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
const getFormFields = (argForm = form) => {
|
|
49
|
-
return argForm?.fields || argForm;
|
|
50
|
-
};
|
|
51
|
-
const getFormFieldsAsArray = (fields) => {
|
|
52
|
-
if (Array.isArray(fields)) return fields;
|
|
53
|
-
|
|
54
|
-
if (typeof fields === "object") {
|
|
55
|
-
return Object.values(fields);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
return fields;
|
|
59
|
-
};
|
|
60
|
-
const getFormFieldsKeys = (fields = getFormFields()) => {
|
|
61
|
-
if (Array.isArray(fields)) return fields.map(({ key }) => key);
|
|
62
|
-
|
|
63
|
-
if (typeof fields === "object") {
|
|
64
|
-
return Object.values(fields).map(({ key }) => key);
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
return fields;
|
|
68
|
-
};
|
|
69
|
-
const popFormField = (fields, key) => {
|
|
70
|
-
const result = { item: undefined, itemIndex: undefined };
|
|
71
|
-
|
|
72
|
-
if (Array.isArray(fields)) {
|
|
73
|
-
result.item = fields?.find((f) => f.key === key);
|
|
74
|
-
result.itemIndex = result.item
|
|
75
|
-
? fields.findIndex((f) => f.key === key)
|
|
76
|
-
: fields.length;
|
|
77
|
-
} else if (typeof fields === "object") {
|
|
78
|
-
result.item =
|
|
79
|
-
fields[key] || Object.values(fields).find((f) => f.key === key);
|
|
80
|
-
result.itemIndex = result.item
|
|
81
|
-
? fields[key]
|
|
82
|
-
? key
|
|
83
|
-
: Object.values(fields).findIndex((f) => f.key === key)
|
|
84
|
-
: key;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
return result;
|
|
88
|
-
};
|
|
89
|
-
const updateFormField = (fields, data, key) => {
|
|
90
|
-
const isFunction = typeof data === "function";
|
|
91
|
-
//KEY is NULLable
|
|
92
|
-
if (!key) {
|
|
93
|
-
return data.key
|
|
94
|
-
? Object.values(fields).reduce((result, field, i) => {
|
|
95
|
-
const index = fields[field.key] ? field.key : i;
|
|
96
|
-
|
|
97
|
-
return {
|
|
98
|
-
...result,
|
|
99
|
-
[index]:
|
|
100
|
-
data.key === field.key
|
|
101
|
-
? isFunction
|
|
102
|
-
? data(field)
|
|
103
|
-
: data
|
|
104
|
-
: field,
|
|
105
|
-
};
|
|
106
|
-
}, {})
|
|
107
|
-
: {
|
|
108
|
-
...fields,
|
|
109
|
-
[fields.length || 0]: isFunction ? data({}) : data,
|
|
110
|
-
};
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
const { item: field = data, itemIndex } = popFormField(fields, key);
|
|
114
|
-
|
|
115
|
-
fields[itemIndex] = isFunction ? data(field || {}) : { ...field, ...data };
|
|
116
|
-
|
|
117
|
-
return fields;
|
|
118
|
-
};
|
|
119
|
-
|
|
120
|
-
const getFieldClassName = (key, type) => {
|
|
121
|
-
return `form-${type}_field-${key}`;
|
|
122
|
-
};
|
|
123
|
-
|
|
124
|
-
return {
|
|
125
|
-
joinData,
|
|
126
|
-
getFieldData,
|
|
127
|
-
popFormField,
|
|
128
|
-
updateFormField,
|
|
129
|
-
getFormFields,
|
|
130
|
-
getFormFieldsAsArray,
|
|
131
|
-
getFieldClassName,
|
|
132
|
-
getFormFieldsKeys,
|
|
133
|
-
};
|
|
134
|
-
}
|
|
1
|
+
function e(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=Array(r);t<r;t++)n[t]=e[t];return n}function r(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function t(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},o=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),o.forEach(function(t){r(e,t,n[t])})}return e}function n(e,r){return r=null!=r?r:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):(function(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}),e}function o(r){return function(r){if(Array.isArray(r))return e(r)}(r)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(r)||u(r)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function u(r,t){if(r){if("string"==typeof r)return e(r,t);var n=Object.prototype.toString.call(r).slice(8,-1);if("Object"===n&&r.constructor&&(n=r.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return e(r,t)}}export default function a(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=e.form,c=e.FormFields,f=void 0===c?[]:c,l=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a;return(null==e?void 0:e.fields)||e},y=function(e,r){var t={item:void 0,itemIndex:void 0};return Array.isArray(e)?(t.item=null==e?void 0:e.find(function(e){return e.key===r}),t.itemIndex=t.item?e.findIndex(function(e){return e.key===r}):e.length):(void 0===e?"undefined":i(e))==="object"&&(t.item=e[r]||Object.values(e).find(function(e){return e.key===r}),t.itemIndex=t.item?e[r]?r:Object.values(e).findIndex(function(e){return e.key===r}):r),t};return{joinData:function(){for(var e=arguments.length,r=Array(e),n=0;n<e;n++)r[n]=arguments[n];var a=(function(e){if(Array.isArray(e))return e}(r)||function(e,r){var t,n,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var i=[],u=!0,a=!1;try{for(o=o.call(e);!(u=(t=o.next()).done)&&(i.push(t.value),i.length!==r);u=!0);}catch(e){a=!0,n=e}finally{try{u||null==o.return||o.return()}finally{if(a)throw n}}return i}}(r,1)||u(r,1)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())[0],c=Array.isArray(a)?"Array":(void 0===a?"undefined":i(a))==="object"?"Object":void 0,f=Array.isArray(a)?[]:(void 0===a?"undefined":i(a))==="object"?{}:null;if(f)return r.reduce(function(e,r){if("Array"===c)if(Array.isArray(r))return o(e).concat(o(r));else return o(e).concat([r]);return"Object"===c?t({},e,r):f},f)},getFieldData:function(e){if(Array.isArray(f))if(f[e])return t({},f[e]);else return t({},f.find(function(r){return r.key===e}));if((void 0===f?"undefined":i(f))==="object")return t({},f[e])||t({},Object.values(f).find(function(r){return r.key===e}))},popFormField:y,updateFormField:function(e,o,i){var u="function"==typeof o;if(!i)return o.key?Object.values(e).reduce(function(i,a,c){var f=e[a.key]?a.key:c;return n(t({},i),r({},f,o.key===a.key?u?o(a):o:a))},{}):n(t({},e),r({},e.length||0,u?o({}):o));var a=y(e,i),c=a.item,f=void 0===c?o:c;return e[a.itemIndex]=u?o(f||{}):t({},f,o),e},getFormFields:l,getFormFieldsAsArray:function(e){return Array.isArray(e)?e:(void 0===e?"undefined":i(e))==="object"?Object.values(e):e},getFieldClassName:function(e,r){return"form-".concat(r,"_field-").concat(e)},getFormFieldsKeys:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:l();return Array.isArray(e)?e.map(function(e){return e.key}):(void 0===e?"undefined":i(e))==="object"?Object.values(e).map(function(e){return e.key}):e}}}
|
|
@@ -1,111 +1 @@
|
|
|
1
|
-
|
|
2
|
-
// eslint-disable-next-line no-console
|
|
3
|
-
console.error("RenderFields: RenderFieldComponent Property is not recieved!");
|
|
4
|
-
return null;
|
|
5
|
-
};
|
|
6
|
-
|
|
7
|
-
const defaultFormDataDriver = () => {
|
|
8
|
-
// eslint-disable-next-line no-console
|
|
9
|
-
console.error("RenderFields: FormDataDriver Property is not recieved!");
|
|
10
|
-
return null;
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
const defaultOnFieldChange = () => {
|
|
14
|
-
// eslint-disable-next-line no-console
|
|
15
|
-
console.warn(
|
|
16
|
-
"RenderFields: Be careful, onFieldChange handler is not recieved!",
|
|
17
|
-
);
|
|
18
|
-
return null;
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
const defaultOnFieldBlur = () => {
|
|
22
|
-
// eslint-disable-next-line no-console
|
|
23
|
-
console.warn(
|
|
24
|
-
"RenderFields: Be careful, defaultOnFieldBlur handler is not recieved!",
|
|
25
|
-
);
|
|
26
|
-
return null;
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
export default function RenderFields({
|
|
30
|
-
form,
|
|
31
|
-
fields,
|
|
32
|
-
cols = 1,
|
|
33
|
-
FormDataDriver = defaultFormDataDriver,
|
|
34
|
-
RenderFieldComponent = defaultRenderFieldComponent,
|
|
35
|
-
onFieldChange = defaultOnFieldChange,
|
|
36
|
-
onFieldBlur = defaultOnFieldBlur,
|
|
37
|
-
} = {}) {
|
|
38
|
-
const maxColumns = 6;
|
|
39
|
-
const maxWidth = 12;
|
|
40
|
-
|
|
41
|
-
const { getFormField } = FormDataDriver({ form });
|
|
42
|
-
|
|
43
|
-
const getColumnsQty = () => {
|
|
44
|
-
return cols > maxColumns ? maxColumns : cols;
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
const renderFormField = (key) => {
|
|
48
|
-
try {
|
|
49
|
-
const field = { ...getFormField(key), key };
|
|
50
|
-
const { wrapperRef } = field;
|
|
51
|
-
|
|
52
|
-
return (
|
|
53
|
-
<div
|
|
54
|
-
key={`render-field-wrapper-${key}`}
|
|
55
|
-
id={`render-field-wrapper-${key}`}
|
|
56
|
-
ref={
|
|
57
|
-
wrapperRef
|
|
58
|
-
? typeof wrapperRef === "function"
|
|
59
|
-
? (node) => wrapperRef(node, key)
|
|
60
|
-
: wrapperRef
|
|
61
|
-
: null
|
|
62
|
-
}
|
|
63
|
-
>
|
|
64
|
-
<RenderFieldComponent
|
|
65
|
-
key={key}
|
|
66
|
-
field={field}
|
|
67
|
-
onChange={(value) => onFieldChange(key, value)}
|
|
68
|
-
onBlur={(...args) => onFieldBlur(...args)}
|
|
69
|
-
/>
|
|
70
|
-
</div>
|
|
71
|
-
);
|
|
72
|
-
} catch (e) {
|
|
73
|
-
return null;
|
|
74
|
-
}
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
const renderSingleColumn = () => {
|
|
78
|
-
return fields.map(renderFormField);
|
|
79
|
-
};
|
|
80
|
-
const renderSplitColumns = () => {
|
|
81
|
-
const fieldsLen = fields?.length || 0;
|
|
82
|
-
const columnsQty =
|
|
83
|
-
getColumnsQty() > fieldsLen ? fieldsLen : getColumnsQty();
|
|
84
|
-
|
|
85
|
-
if (!columnsQty) return null;
|
|
86
|
-
|
|
87
|
-
const parts = new Array(columnsQty).fill([]).map((v, i) => {
|
|
88
|
-
const startIndex = (fieldsLen / columnsQty) * i;
|
|
89
|
-
const endIndex = startIndex + fieldsLen / columnsQty;
|
|
90
|
-
|
|
91
|
-
return fields.slice(startIndex, endIndex);
|
|
92
|
-
});
|
|
93
|
-
|
|
94
|
-
return (
|
|
95
|
-
<div className="row">
|
|
96
|
-
{parts.map((part, i) => (
|
|
97
|
-
<div
|
|
98
|
-
key={`render-fields-row-${i}`}
|
|
99
|
-
className={`col-12 col-lg-${parseInt(maxWidth / columnsQty, 10)}`}
|
|
100
|
-
>
|
|
101
|
-
{part.map(renderFormField)}
|
|
102
|
-
</div>
|
|
103
|
-
))}
|
|
104
|
-
</div>
|
|
105
|
-
);
|
|
106
|
-
};
|
|
107
|
-
|
|
108
|
-
const render = cols === 1 ? renderSingleColumn : renderSplitColumns;
|
|
109
|
-
|
|
110
|
-
return render();
|
|
111
|
-
}
|
|
1
|
+
function r(r,e){(null==e||e>r.length)&&(e=r.length);for(var n=0,t=Array(e);n<e;n++)t[n]=r[n];return t}import{jsx as e}from"react/jsx-runtime";var n=function(){return null},t=function(){return null},o=function(){return null};export default function i(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},c=i.form,l=i.fields,u=i.cols,a=void 0===u?1:u,f=i.FormDataDriver,p=i.RenderFieldComponent,d=void 0===p?n:p,y=i.onFieldChange,s=void 0===y?t:y,b=i.onFieldBlur,m=void 0===b?o:b,v=(void 0===f?function(){return null}:f)({form:c}).getFormField,O=function(){return a>6?6:a},g=function(n){try{var t,o,i=(t=function(r){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},t=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(t=t.concat(Object.getOwnPropertySymbols(n).filter(function(r){return Object.getOwnPropertyDescriptor(n,r).enumerable}))),t.forEach(function(e){var t;t=n[e],e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t})}return r}({},v(n)),o={key:n},o=null!=o?o:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):(function(r,e){var n=Object.keys(r);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(r);n.push.apply(n,t)}return n})(Object(o)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(o,r))}),t),c=i.wrapperRef;return e("div",{id:"render-field-wrapper-".concat(n),ref:c?"function"==typeof c?function(r){return c(r,n)}:c:null,children:e(d,{field:i,onChange:function(r){return s(n,r)},onBlur:function(){for(var e=arguments.length,n=Array(e),t=0;t<e;t++)n[t]=arguments[t];return m.apply(void 0,function(e){if(Array.isArray(e))return r(e)}(n)||function(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r)}(n)||function(e,n){if(e){if("string"==typeof e)return r(e,void 0);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return r(e,n)}}(n)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())}},n)},"render-field-wrapper-".concat(n))}catch(r){return null}};return(1===a?function(){return l.map(g)}:function(){var r=(null==l?void 0:l.length)||0,n=O()>r?r:O();return n?e("div",{className:"row",children:Array(n).fill([]).map(function(e,t){var o=r/n*t;return l.slice(o,o+r/n)}).map(function(r,t){return e("div",{className:"col-12 col-lg-".concat(parseInt(12/n,10)),children:r.map(g)},"render-fields-row-".concat(t))})}):null})()}
|
|
@@ -1,12 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
function usePrevious(value) {
|
|
4
|
-
const ref = useRef();
|
|
5
|
-
|
|
6
|
-
useEffect(() => {
|
|
7
|
-
ref.current = value;
|
|
8
|
-
}, [value]);
|
|
9
|
-
return ref.current;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export default usePrevious;
|
|
1
|
+
import{useEffect as r,useRef as t}from"react";export default function(n){var e=t();return r(function(){e.current=n},[n]),e.current}
|