@redneckz/wildless-cms-uni-blocks 0.14.913 → 0.14.915
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/bin/migration-scripts/0.14.910.js +27 -0
- package/bundle/api/LeadServiceAPI.d.ts +0 -1
- package/bundle/api/getSubmitBody.d.ts +120 -96
- package/bundle/blocks.schema.json +1 -1
- package/bundle/bundle.umd.js +134 -83
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/components/ApplicationForm/getInitialFormState.d.ts +3 -0
- package/bundle/hooks/useDadataParty.d.ts +6 -0
- package/bundle/ui-kit/FormField/Fields/DadataPartySelectField.d.ts +6 -0
- package/bundle/ui-kit/FormField/NameFieldDef.d.ts +1 -1
- package/bundle/ui-kit/Select/Option.d.ts +3 -6
- package/bundle/ui-kit/Select/Select.d.ts +2 -1
- package/bundle/ui-kit/Select/SelectPopup.d.ts +6 -2
- package/bundle/ui-kit/Select/useSelectPopup.d.ts +2 -1
- package/dist/api/LeadServiceAPI.d.ts +0 -1
- package/dist/api/LeadServiceAPI.js.map +1 -1
- package/dist/api/getSubmitBody.d.ts +120 -96
- package/dist/api/getSubmitBody.js +1 -6
- package/dist/api/getSubmitBody.js.map +1 -1
- package/dist/components/ApplicationForm/getFormatData.js +11 -1
- package/dist/components/ApplicationForm/getFormatData.js.map +1 -1
- package/dist/components/ApplicationForm/getInitialFormState.d.ts +3 -0
- package/dist/components/ApplicationForm/getInitialFormState.js.map +1 -1
- package/dist/hooks/useDadataParty.d.ts +6 -0
- package/dist/hooks/{useInn.js → useDadataParty.js} +4 -4
- package/dist/hooks/useDadataParty.js.map +1 -0
- package/dist/ui-kit/BaseTile/BaseTile.js +1 -1
- package/dist/ui-kit/BaseTile/BaseTile.js.map +1 -1
- package/dist/ui-kit/FormField/Fields/DadataPartySelectField.d.ts +6 -0
- package/dist/ui-kit/FormField/Fields/DadataPartySelectField.js +84 -0
- package/dist/ui-kit/FormField/Fields/DadataPartySelectField.js.map +1 -0
- package/dist/ui-kit/FormField/NameFieldDef.d.ts +1 -1
- package/dist/ui-kit/FormField/getField.js +3 -4
- package/dist/ui-kit/FormField/getField.js.map +1 -1
- package/dist/ui-kit/FormField/getObjectValidator.js +3 -3
- package/dist/ui-kit/FormField/getObjectValidator.js.map +1 -1
- package/dist/ui-kit/Select/Option.d.ts +3 -6
- package/dist/ui-kit/Select/Select.d.ts +2 -1
- package/dist/ui-kit/Select/Select.js +4 -4
- package/dist/ui-kit/Select/Select.js.map +1 -1
- package/dist/ui-kit/Select/SelectPopup.d.ts +6 -2
- package/dist/ui-kit/Select/SelectPopup.js +5 -3
- package/dist/ui-kit/Select/SelectPopup.js.map +1 -1
- package/dist/ui-kit/Select/useSelectPopup.d.ts +2 -1
- package/dist/ui-kit/Select/useSelectPopup.js +6 -3
- package/dist/ui-kit/Select/useSelectPopup.js.map +1 -1
- package/lib/api/LeadServiceAPI.d.ts +0 -1
- package/lib/api/LeadServiceAPI.js.map +1 -1
- package/lib/api/getSubmitBody.d.ts +120 -96
- package/lib/api/getSubmitBody.js +1 -6
- package/lib/api/getSubmitBody.js.map +1 -1
- package/lib/components/ApplicationForm/ApplicationForm.fixture.mobile.d.ts +1 -0
- package/lib/components/ApplicationForm/getFormatData.js +11 -1
- package/lib/components/ApplicationForm/getFormatData.js.map +1 -1
- package/lib/components/ApplicationForm/getInitialFormState.d.ts +3 -0
- package/lib/components/ApplicationForm/getInitialFormState.js.map +1 -1
- package/lib/components/Carousel/Carousel.fixture.d.ts +1 -0
- package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.fixture.d.ts +1 -1
- package/lib/components/CarouselTariffsCard/CarouselTariffsCard.fixture.d.ts +2 -0
- package/lib/hooks/useDadataParty.d.ts +6 -0
- package/lib/hooks/{useInn.js → useDadataParty.js} +2 -2
- package/lib/hooks/useDadataParty.js.map +1 -0
- package/lib/retail/components/DraftDialog/utils.d.ts +3 -3
- package/lib/ui-kit/BaseTile/BaseTile.js +1 -1
- package/lib/ui-kit/BaseTile/BaseTile.js.map +1 -1
- package/lib/ui-kit/FormField/Fields/DadataPartySelectField.d.ts +6 -0
- package/lib/ui-kit/FormField/Fields/DadataPartySelectField.js +82 -0
- package/lib/ui-kit/FormField/Fields/DadataPartySelectField.js.map +1 -0
- package/lib/ui-kit/FormField/NameFieldDef.d.ts +1 -1
- package/lib/ui-kit/FormField/getField.js +3 -4
- package/lib/ui-kit/FormField/getField.js.map +1 -1
- package/lib/ui-kit/FormField/getObjectValidator.js +3 -3
- package/lib/ui-kit/FormField/getObjectValidator.js.map +1 -1
- package/lib/ui-kit/Select/Option.d.ts +3 -6
- package/lib/ui-kit/Select/Select.d.ts +2 -1
- package/lib/ui-kit/Select/Select.js +4 -4
- package/lib/ui-kit/Select/Select.js.map +1 -1
- package/lib/ui-kit/Select/SelectPopup.d.ts +6 -2
- package/lib/ui-kit/Select/SelectPopup.js +5 -3
- package/lib/ui-kit/Select/SelectPopup.js.map +1 -1
- package/lib/ui-kit/Select/useSelectPopup.d.ts +2 -1
- package/lib/ui-kit/Select/useSelectPopup.js +6 -3
- package/lib/ui-kit/Select/useSelectPopup.js.map +1 -1
- package/mobile/bundle/api/LeadServiceAPI.d.ts +0 -1
- package/mobile/bundle/api/getSubmitBody.d.ts +120 -96
- package/mobile/bundle/bundle.umd.js +134 -83
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/components/ApplicationForm/getInitialFormState.d.ts +3 -0
- package/mobile/bundle/hooks/useDadataParty.d.ts +6 -0
- package/mobile/bundle/ui-kit/FormField/Fields/DadataPartySelectField.d.ts +6 -0
- package/mobile/bundle/ui-kit/FormField/NameFieldDef.d.ts +1 -1
- package/mobile/bundle/ui-kit/Select/Option.d.ts +3 -6
- package/mobile/bundle/ui-kit/Select/Select.d.ts +2 -1
- package/mobile/bundle/ui-kit/Select/SelectPopup.d.ts +6 -2
- package/mobile/bundle/ui-kit/Select/useSelectPopup.d.ts +2 -1
- package/mobile/dist/api/LeadServiceAPI.d.ts +0 -1
- package/mobile/dist/api/LeadServiceAPI.js.map +1 -1
- package/mobile/dist/api/getSubmitBody.d.ts +120 -96
- package/mobile/dist/api/getSubmitBody.js +1 -6
- package/mobile/dist/api/getSubmitBody.js.map +1 -1
- package/mobile/dist/components/ApplicationForm/getFormatData.js +11 -1
- package/mobile/dist/components/ApplicationForm/getFormatData.js.map +1 -1
- package/mobile/dist/components/ApplicationForm/getInitialFormState.d.ts +3 -0
- package/mobile/dist/components/ApplicationForm/getInitialFormState.js.map +1 -1
- package/mobile/dist/hooks/useDadataParty.d.ts +6 -0
- package/mobile/dist/hooks/{useInn.js → useDadataParty.js} +4 -4
- package/mobile/dist/hooks/useDadataParty.js.map +1 -0
- package/mobile/dist/ui-kit/BaseTile/BaseTile.js +1 -1
- package/mobile/dist/ui-kit/BaseTile/BaseTile.js.map +1 -1
- package/mobile/dist/ui-kit/FormField/Fields/DadataPartySelectField.d.ts +6 -0
- package/mobile/dist/ui-kit/FormField/Fields/DadataPartySelectField.js +84 -0
- package/mobile/dist/ui-kit/FormField/Fields/DadataPartySelectField.js.map +1 -0
- package/mobile/dist/ui-kit/FormField/NameFieldDef.d.ts +1 -1
- package/mobile/dist/ui-kit/FormField/getField.js +3 -4
- package/mobile/dist/ui-kit/FormField/getField.js.map +1 -1
- package/mobile/dist/ui-kit/FormField/getObjectValidator.js +3 -3
- package/mobile/dist/ui-kit/FormField/getObjectValidator.js.map +1 -1
- package/mobile/dist/ui-kit/Select/Option.d.ts +3 -6
- package/mobile/dist/ui-kit/Select/Select.d.ts +2 -1
- package/mobile/dist/ui-kit/Select/Select.js +4 -4
- package/mobile/dist/ui-kit/Select/Select.js.map +1 -1
- package/mobile/dist/ui-kit/Select/SelectPopup.d.ts +6 -2
- package/mobile/dist/ui-kit/Select/SelectPopup.js +5 -3
- package/mobile/dist/ui-kit/Select/SelectPopup.js.map +1 -1
- package/mobile/dist/ui-kit/Select/useSelectPopup.d.ts +2 -1
- package/mobile/dist/ui-kit/Select/useSelectPopup.js +6 -3
- package/mobile/dist/ui-kit/Select/useSelectPopup.js.map +1 -1
- package/mobile/lib/api/LeadServiceAPI.d.ts +0 -1
- package/mobile/lib/api/LeadServiceAPI.js.map +1 -1
- package/mobile/lib/api/getSubmitBody.d.ts +120 -96
- package/mobile/lib/api/getSubmitBody.js +1 -6
- package/mobile/lib/api/getSubmitBody.js.map +1 -1
- package/mobile/lib/components/ApplicationForm/getFormatData.js +11 -1
- package/mobile/lib/components/ApplicationForm/getFormatData.js.map +1 -1
- package/mobile/lib/components/ApplicationForm/getInitialFormState.d.ts +3 -0
- package/mobile/lib/components/ApplicationForm/getInitialFormState.js.map +1 -1
- package/mobile/lib/hooks/useDadataParty.d.ts +6 -0
- package/mobile/lib/hooks/{useInn.js → useDadataParty.js} +2 -2
- package/mobile/lib/hooks/useDadataParty.js.map +1 -0
- package/mobile/lib/ui-kit/BaseTile/BaseTile.js +1 -1
- package/mobile/lib/ui-kit/BaseTile/BaseTile.js.map +1 -1
- package/mobile/lib/ui-kit/FormField/Fields/DadataPartySelectField.d.ts +6 -0
- package/mobile/lib/ui-kit/FormField/Fields/DadataPartySelectField.js +82 -0
- package/mobile/lib/ui-kit/FormField/Fields/DadataPartySelectField.js.map +1 -0
- package/mobile/lib/ui-kit/FormField/NameFieldDef.d.ts +1 -1
- package/mobile/lib/ui-kit/FormField/getField.js +3 -4
- package/mobile/lib/ui-kit/FormField/getField.js.map +1 -1
- package/mobile/lib/ui-kit/FormField/getObjectValidator.js +3 -3
- package/mobile/lib/ui-kit/FormField/getObjectValidator.js.map +1 -1
- package/mobile/lib/ui-kit/Select/Option.d.ts +3 -6
- package/mobile/lib/ui-kit/Select/Select.d.ts +2 -1
- package/mobile/lib/ui-kit/Select/Select.js +4 -4
- package/mobile/lib/ui-kit/Select/Select.js.map +1 -1
- package/mobile/lib/ui-kit/Select/SelectPopup.d.ts +6 -2
- package/mobile/lib/ui-kit/Select/SelectPopup.js +5 -3
- package/mobile/lib/ui-kit/Select/SelectPopup.js.map +1 -1
- package/mobile/lib/ui-kit/Select/useSelectPopup.d.ts +2 -1
- package/mobile/lib/ui-kit/Select/useSelectPopup.js +6 -3
- package/mobile/lib/ui-kit/Select/useSelectPopup.js.map +1 -1
- package/mobile/src/api/LeadServiceAPI.ts +0 -1
- package/mobile/src/api/getSubmitBody.ts +0 -11
- package/mobile/src/components/ApplicationForm/ApplicationForm.example.json +22 -43
- package/mobile/src/components/ApplicationForm/getFormatData.tsx +16 -0
- package/mobile/src/components/ApplicationForm/getInitialFormState.tsx +3 -0
- package/mobile/src/hooks/{useInn.ts → useDadataParty.ts} +2 -2
- package/mobile/src/ui-kit/BaseTile/BaseTile.tsx +1 -1
- package/mobile/src/ui-kit/FormField/Fields/DadataPartySelectField.tsx +150 -0
- package/mobile/src/ui-kit/FormField/NameFieldDef.ts +3 -3
- package/mobile/src/ui-kit/FormField/getField.tsx +3 -4
- package/mobile/src/ui-kit/FormField/getObjectValidator.tsx +3 -3
- package/mobile/src/ui-kit/Select/Option.ts +4 -6
- package/mobile/src/ui-kit/Select/Select.tsx +6 -4
- package/mobile/src/ui-kit/Select/SelectPopup.tsx +15 -21
- package/mobile/src/ui-kit/Select/useSelectPopup.tsx +9 -1
- package/package.json +1 -1
- package/src/api/LeadServiceAPI.ts +0 -1
- package/src/api/getSubmitBody.ts +0 -11
- package/src/components/ApplicationForm/ApplicationForm.example.json +22 -43
- package/src/components/ApplicationForm/ApplicationForm.fixture.mobile.tsx +36 -13
- package/src/components/ApplicationForm/ApplicationForm.fixture.tsx +13 -12
- package/src/components/ApplicationForm/getFormatData.tsx +16 -0
- package/src/components/ApplicationForm/getInitialFormState.tsx +3 -0
- package/src/components/Carousel/Carousel.fixture.mobile.tsx +16 -16
- package/src/components/Carousel/Carousel.fixture.tsx +42 -20
- package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.fixture.mobile.tsx +19 -19
- package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.fixture.tsx +44 -23
- package/src/components/CarouselTariffsCard/CarouselTariffsCard.fixture.tsx +12 -12
- package/src/hooks/{useInn.ts → useDadataParty.ts} +2 -2
- package/src/icons/IconName.ts +4 -4
- package/src/ui-kit/BaseTile/BaseTile.tsx +1 -1
- package/src/ui-kit/FormField/Fields/DadataPartySelectField.tsx +150 -0
- package/src/ui-kit/FormField/NameFieldDef.ts +3 -3
- package/src/ui-kit/FormField/getField.tsx +3 -4
- package/src/ui-kit/FormField/getObjectValidator.tsx +3 -3
- package/src/ui-kit/Select/Option.ts +4 -6
- package/src/ui-kit/Select/Select.tsx +6 -4
- package/src/ui-kit/Select/SelectPopup.tsx +15 -21
- package/src/ui-kit/Select/useSelectPopup.tsx +9 -1
- package/bundle/hooks/useInn.d.ts +0 -7
- package/bundle/ui-kit/FormField/Fields/CompanyNameByInnField.d.ts +0 -2
- package/bundle/ui-kit/FormField/Fields/InnDadataField.d.ts +0 -2
- package/dist/hooks/useInn.d.ts +0 -7
- package/dist/hooks/useInn.js.map +0 -1
- package/dist/ui-kit/FormField/Fields/CompanyNameByInnField.d.ts +0 -2
- package/dist/ui-kit/FormField/Fields/CompanyNameByInnField.js +0 -17
- package/dist/ui-kit/FormField/Fields/CompanyNameByInnField.js.map +0 -1
- package/dist/ui-kit/FormField/Fields/InnDadataField.d.ts +0 -2
- package/dist/ui-kit/FormField/Fields/InnDadataField.js +0 -32
- package/dist/ui-kit/FormField/Fields/InnDadataField.js.map +0 -1
- package/lib/hooks/useInn.d.ts +0 -7
- package/lib/hooks/useInn.js.map +0 -1
- package/lib/ui-kit/FormField/Fields/CompanyNameByInnField.d.ts +0 -2
- package/lib/ui-kit/FormField/Fields/CompanyNameByInnField.js +0 -15
- package/lib/ui-kit/FormField/Fields/CompanyNameByInnField.js.map +0 -1
- package/lib/ui-kit/FormField/Fields/InnDadataField.d.ts +0 -2
- package/lib/ui-kit/FormField/Fields/InnDadataField.js +0 -30
- package/lib/ui-kit/FormField/Fields/InnDadataField.js.map +0 -1
- package/mobile/bundle/hooks/useInn.d.ts +0 -7
- package/mobile/bundle/ui-kit/FormField/Fields/CompanyNameByInnField.d.ts +0 -2
- package/mobile/bundle/ui-kit/FormField/Fields/InnDadataField.d.ts +0 -2
- package/mobile/dist/hooks/useInn.d.ts +0 -7
- package/mobile/dist/hooks/useInn.js.map +0 -1
- package/mobile/dist/ui-kit/FormField/Fields/CompanyNameByInnField.d.ts +0 -2
- package/mobile/dist/ui-kit/FormField/Fields/CompanyNameByInnField.js +0 -17
- package/mobile/dist/ui-kit/FormField/Fields/CompanyNameByInnField.js.map +0 -1
- package/mobile/dist/ui-kit/FormField/Fields/InnDadataField.d.ts +0 -2
- package/mobile/dist/ui-kit/FormField/Fields/InnDadataField.js +0 -32
- package/mobile/dist/ui-kit/FormField/Fields/InnDadataField.js.map +0 -1
- package/mobile/lib/hooks/useInn.d.ts +0 -7
- package/mobile/lib/hooks/useInn.js.map +0 -1
- package/mobile/lib/ui-kit/FormField/Fields/CompanyNameByInnField.d.ts +0 -2
- package/mobile/lib/ui-kit/FormField/Fields/CompanyNameByInnField.js +0 -15
- package/mobile/lib/ui-kit/FormField/Fields/CompanyNameByInnField.js.map +0 -1
- package/mobile/lib/ui-kit/FormField/Fields/InnDadataField.d.ts +0 -2
- package/mobile/lib/ui-kit/FormField/Fields/InnDadataField.js +0 -30
- package/mobile/lib/ui-kit/FormField/Fields/InnDadataField.js.map +0 -1
- package/mobile/src/ui-kit/FormField/Fields/CompanyNameByInnField.tsx +0 -24
- package/mobile/src/ui-kit/FormField/Fields/InnDadataField.tsx +0 -52
- package/src/ui-kit/FormField/Fields/CompanyNameByInnField.tsx +0 -24
- package/src/ui-kit/FormField/Fields/InnDadataField.tsx +0 -52
package/bundle/bundle.umd.js
CHANGED
|
@@ -636,7 +636,7 @@
|
|
|
636
636
|
imageAlign,
|
|
637
637
|
}), buttons ? jsx("div", { className: "self-end", children: buttons }) : null] })] })] }));
|
|
638
638
|
});
|
|
639
|
-
const renderMiddleContent = (insetTitle, children) => insetTitle || children ? (jsxs("div", { className: "
|
|
639
|
+
const renderMiddleContent = (insetTitle, children) => insetTitle || children ? (jsxs("div", { className: "space-y-lg", children: [insetTitle, children] })) : null;
|
|
640
640
|
const imageAlwaysOnRightContainerStyle = (isImage) => style(isImage ? 'row-span-2' : '@xl:row-span-2');
|
|
641
641
|
const renderUnitContainer = (childrenBlocks) => childrenBlocks?.length ? (jsx("div", { className: "flex items-start justify-end", children: childrenBlocks })) : null;
|
|
642
642
|
|
|
@@ -1005,7 +1005,7 @@
|
|
|
1005
1005
|
const formatPhone = (phone) => phone?.replace(/[^+\d]/g, '');
|
|
1006
1006
|
|
|
1007
1007
|
const getSubmitBody = (body, isNaturalPerson, router) => {
|
|
1008
|
-
const { typeForm, region, phone = '', email, birthday, desiredMeetingDate, inn,
|
|
1008
|
+
const { typeForm, region, phone = '', email, birthday, desiredMeetingDate, inn, fullRegion, addressBranch, secondaryPhone = '', bankEmpolee, applicationDate, partnerName, ...staticBody } = body;
|
|
1009
1009
|
return {
|
|
1010
1010
|
typeForm,
|
|
1011
1011
|
...getRegion$1(region, isNaturalPerson),
|
|
@@ -1023,10 +1023,7 @@
|
|
|
1023
1023
|
}),
|
|
1024
1024
|
...addPageSlug(typeForm, router),
|
|
1025
1025
|
...formatPFForm(typeForm, {
|
|
1026
|
-
innDadata,
|
|
1027
1026
|
fullRegion,
|
|
1028
|
-
partnerSymbolCode,
|
|
1029
|
-
companyNameByInn,
|
|
1030
1027
|
partnerName,
|
|
1031
1028
|
}),
|
|
1032
1029
|
...staticBody,
|
|
@@ -1050,10 +1047,8 @@
|
|
|
1050
1047
|
: { secondaryPhoneNumber: formatPhone(secondaryPhone) };
|
|
1051
1048
|
const formatPFForm = (typeForm, data) => typeForm === 'PF'
|
|
1052
1049
|
? {
|
|
1053
|
-
inn: data?.innDadata,
|
|
1054
1050
|
region: data?.fullRegion,
|
|
1055
1051
|
partner: data?.partnerName,
|
|
1056
|
-
fullName: data?.companyNameByInn,
|
|
1057
1052
|
}
|
|
1058
1053
|
: {};
|
|
1059
1054
|
const addPageSlug = (typeForm, router) => typeForm === 'UNIVERSAL'
|
|
@@ -1448,17 +1443,20 @@
|
|
|
1448
1443
|
return options.filter((_) => _.text?.toLocaleLowerCase().includes(query?.trim().toLocaleLowerCase()));
|
|
1449
1444
|
};
|
|
1450
1445
|
|
|
1451
|
-
const SelectPopup = JSX(({ popupRef, options, value,
|
|
1446
|
+
const SelectPopup = JSX(({ popupRef, options, value, iconVersion, onChange, renderOptions = renderDefaultOptions,
|
|
1447
|
+
// TODO: вынести в хук отвечающий за фильтрацию
|
|
1448
|
+
query, onChangeQuery, disableFilterOptions, }) => options?.length ? (jsx("div", { className: "bg-white text-l max-h-64 overflow-y-auto overflow-x-hidden rounded-md shadow-2xl", role: "list", ref: popupRef, children: filterOptions(options, query, disableFilterOptions).map((option) => (jsxs("div", { className: "flex px-m py-s cursor-pointer hover:bg-main-divider pr-5xl relative", role: "listitem", "aria-selected": option.key === value?.key, onClick: (e) => {
|
|
1452
1449
|
e.stopPropagation();
|
|
1453
1450
|
if (onChange) {
|
|
1454
1451
|
onChangeQuery?.('');
|
|
1455
1452
|
onChange(option);
|
|
1456
1453
|
}
|
|
1457
|
-
}, children: [
|
|
1454
|
+
}, children: [renderOptions(option), jsx(Icon, { name: "DoneSimpleIcon", width: "16", height: "16", iconVersion: iconVersion, className: style('absolute right-2 pt-2xs', {
|
|
1458
1455
|
hidden: option.key !== value?.key,
|
|
1459
1456
|
}) })] }, option.key))) })) : null);
|
|
1457
|
+
const renderDefaultOptions = (option) => (jsx("span", { className: "min-h-6", children: formatOption(option) }));
|
|
1460
1458
|
|
|
1461
|
-
function useSelectPopup({ isOpen, options, value, query, onChange = noop, onClose = noop, iconVersion, disableFilterOptions = false, onChangeQuery = noop, }) {
|
|
1459
|
+
function useSelectPopup({ isOpen, options, value, query, onChange = noop, onClose = noop, iconVersion, disableFilterOptions = false, onChangeQuery = noop, renderOptions, isSearch = false, }) {
|
|
1462
1460
|
const popup = usePopupManager();
|
|
1463
1461
|
const close = useCallback(() => {
|
|
1464
1462
|
popup.close();
|
|
@@ -1467,8 +1465,11 @@
|
|
|
1467
1465
|
const handleChange = useCallback((option) => {
|
|
1468
1466
|
close();
|
|
1469
1467
|
onChange(option);
|
|
1470
|
-
onChangeQuery('');
|
|
1468
|
+
onChangeQuery(isSearch && option?.text ? option.text : '');
|
|
1471
1469
|
}, [close, onChange]);
|
|
1470
|
+
useEffect(() => {
|
|
1471
|
+
onChangeQuery(isSearch && value?.text ? value.text : '');
|
|
1472
|
+
}, [value]);
|
|
1472
1473
|
const inputRef = useRef(null);
|
|
1473
1474
|
const popupRef = useOutsideClick(close);
|
|
1474
1475
|
useEffect(() => {
|
|
@@ -1478,7 +1479,7 @@
|
|
|
1478
1479
|
const inputElement = inputRef.current;
|
|
1479
1480
|
const { top, left, width, height } = inputElement.getBoundingClientRect();
|
|
1480
1481
|
popup.open({
|
|
1481
|
-
popup: (jsx(SelectPopup, { popupRef: popupRef, options: options, value: value, query: query, iconVersion: iconVersion, disableFilterOptions: disableFilterOptions, onChange: handleChange, onChangeQuery: onChangeQuery })),
|
|
1482
|
+
popup: (jsx(SelectPopup, { popupRef: popupRef, options: options, value: value, query: query, iconVersion: iconVersion, disableFilterOptions: disableFilterOptions, onChange: handleChange, onChangeQuery: onChangeQuery, renderOptions: renderOptions })),
|
|
1482
1483
|
top: top + window.scrollY + height,
|
|
1483
1484
|
left,
|
|
1484
1485
|
width,
|
|
@@ -1487,7 +1488,7 @@
|
|
|
1487
1488
|
return inputRef;
|
|
1488
1489
|
}
|
|
1489
1490
|
|
|
1490
|
-
const Select = JSX(({ className, label, options = [], value, isSearch = false, isManualInput = false, disabled = false, iconVersion = 'black', onChange, onSearchQuery = noop, inputProps, disableFilterOptions = false, ...rest }) => {
|
|
1491
|
+
const Select = JSX(({ className, label, options = [], value, isSearch = false, isManualInput = false, disabled = false, iconVersion = 'black', onChange, onSearchQuery = noop, inputProps, disableFilterOptions = false, renderOptions, ...rest }) => {
|
|
1491
1492
|
const [isOpen, { setFalse: close, setTrue: open }] = useBool();
|
|
1492
1493
|
const [query, setQuery] = useState('');
|
|
1493
1494
|
const isDisabled = disabled || (!isManualInput && options.length === 0);
|
|
@@ -1496,15 +1497,15 @@
|
|
|
1496
1497
|
isDisabled ? noop() : open();
|
|
1497
1498
|
}, [isDisabled]);
|
|
1498
1499
|
const handleClose = useCallback(() => {
|
|
1499
|
-
!
|
|
1500
|
+
!isSearch && setQuery('');
|
|
1500
1501
|
close();
|
|
1501
1502
|
}, [isManualInput]);
|
|
1502
1503
|
const handleChangeQuery = useCallback((newQuery) => {
|
|
1503
1504
|
setQuery(newQuery);
|
|
1504
|
-
isManualInput && onChange?.({ key: newQuery, text: newQuery
|
|
1505
|
+
isManualInput && onChange?.({ key: newQuery, text: newQuery });
|
|
1505
1506
|
debouncedOnSearchQuery?.(newQuery);
|
|
1506
1507
|
}, [isManualInput, onChange, debouncedOnSearchQuery]);
|
|
1507
|
-
const selectState = { query, value, options, isOpen, iconVersion };
|
|
1508
|
+
const selectState = { query, value, options, isOpen, iconVersion, renderOptions, isSearch };
|
|
1508
1509
|
const inputRef = useSelectPopup({
|
|
1509
1510
|
onChange,
|
|
1510
1511
|
onClose: handleClose,
|
|
@@ -2041,47 +2042,6 @@
|
|
|
2041
2042
|
|
|
2042
2043
|
const CommentField = JSX(({ field, input }) => (jsx(InputControl, { className: "col-span-2", ...field(input?.name ?? ''), placeholder: "\u0412\u0430\u0448\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435", isTextarea: true })));
|
|
2043
2044
|
|
|
2044
|
-
const CompanyNameByInnField = JSX(({ field, input }) => {
|
|
2045
|
-
const fieldInn = field('innDadata');
|
|
2046
|
-
useEffect(() => {
|
|
2047
|
-
if (fieldInn?.value?.key !== '') {
|
|
2048
|
-
const companyName = fieldInn?.value?.innDaData?.companyName;
|
|
2049
|
-
companyName && field?.('companyNameByInn')?.onChange?.(companyName);
|
|
2050
|
-
}
|
|
2051
|
-
}, [fieldInn?.value]);
|
|
2052
|
-
return (jsx(InputControl, { maxLength: 60, label: "\u041F\u043E\u043B\u043D\u043E\u0435 \u043D\u0430\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435", ...field(input?.name ?? ''), ...input }));
|
|
2053
|
-
});
|
|
2054
|
-
|
|
2055
|
-
const DesiredMeetingDateField = JSX(({ field, input }) => (jsx(DatePickerControl, { label: "\u0416\u0435\u043B\u0430\u0435\u043C\u0430\u044F \u0434\u0430\u0442\u0430 \u0432\u0441\u0442\u0440\u0435\u0447\u0438", ...field(input?.name ?? '') })));
|
|
2056
|
-
|
|
2057
|
-
const EmailField$1 = JSX(({ field, input }) => {
|
|
2058
|
-
return jsx(InputControl, { label: "\u042D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u0430\u044F \u043F\u043E\u0447\u0442\u0430", ...field(input?.name ?? ''), ...input });
|
|
2059
|
-
});
|
|
2060
|
-
|
|
2061
|
-
const SERVICE_TYPES = [{ key: 'ULTRASERVICE', text: 'Ультра' }];
|
|
2062
|
-
const SERVICE_DIRECTIONS = [
|
|
2063
|
-
{ key: 'Физическое лицо' },
|
|
2064
|
-
{ key: 'Юридическое лицо / ИП' },
|
|
2065
|
-
];
|
|
2066
|
-
const FEEDBACK_METHOD = [
|
|
2067
|
-
{ key: 'phone', text: 'Телефонный звонок' },
|
|
2068
|
-
{ key: 'email', text: 'Электронное сообщение' },
|
|
2069
|
-
];
|
|
2070
|
-
|
|
2071
|
-
const FeedbackMethodField = JSX(({ field, input }) => (jsx(SelectControl, { label: "\u0421\u043F\u043E\u0441\u043E\u0431 \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u0438\u044F \u043E\u0442\u0432\u0435\u0442\u0430", options: FEEDBACK_METHOD, ...field(input?.name ?? '') })));
|
|
2072
|
-
|
|
2073
|
-
const FullNameField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u0424\u0418\u041E", ...field(input?.name ?? ''), ...input })));
|
|
2074
|
-
|
|
2075
|
-
const FullRegionField = JSX(({ field, input, params }) => {
|
|
2076
|
-
const isPremium = params?.isPremium;
|
|
2077
|
-
const branchByRegions = useBranchesByRegions(isPremium);
|
|
2078
|
-
const regions = useMemo(() => branchByRegions?.map(({ region }) => ({
|
|
2079
|
-
key: region,
|
|
2080
|
-
text: region,
|
|
2081
|
-
})), [branchByRegions]);
|
|
2082
|
-
return (jsx(SelectControl, { label: "\u0420\u0435\u0433\u0438\u043E\u043D", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0440\u0435\u0433\u0438\u043E\u043D", options: regions, ...field(input?.name ?? '') }));
|
|
2083
|
-
});
|
|
2084
|
-
|
|
2085
2045
|
function useAsyncEffect(effect, deps) {
|
|
2086
2046
|
useEffect(() => {
|
|
2087
2047
|
const free = effect();
|
|
@@ -2132,34 +2092,115 @@
|
|
|
2132
2092
|
};
|
|
2133
2093
|
|
|
2134
2094
|
const INN_DADATA_URL = 'suggest/party';
|
|
2135
|
-
const
|
|
2095
|
+
const useDadataParty = async (searchQuery) => (await getDaDataHints({ url: INN_DADATA_URL, query: searchQuery })).map((_) => ({
|
|
2136
2096
|
fullName: _?.value,
|
|
2137
2097
|
address: _?.data?.address?.value,
|
|
2138
2098
|
inn: _?.data?.inn,
|
|
2139
2099
|
}));
|
|
2140
2100
|
|
|
2141
|
-
const
|
|
2142
|
-
|
|
2101
|
+
const FIELD_MAPPING = {
|
|
2102
|
+
dadataPartyInnSelect: {
|
|
2103
|
+
fieldValue: 'inn',
|
|
2104
|
+
linkedFieldName: 'dadataPartyNameSelect',
|
|
2105
|
+
linkedFieldValue: 'fullName',
|
|
2106
|
+
},
|
|
2107
|
+
dadataPartyNameSelect: {
|
|
2108
|
+
fieldValue: 'fullName',
|
|
2109
|
+
linkedFieldName: 'dadataPartyInnSelect',
|
|
2110
|
+
linkedFieldValue: 'inn',
|
|
2111
|
+
},
|
|
2112
|
+
};
|
|
2113
|
+
const FIELD_CONFIG = {
|
|
2114
|
+
dadataPartyInnSelect: {
|
|
2115
|
+
label: 'ИНН',
|
|
2116
|
+
placeholder: 'Введите ИНН',
|
|
2117
|
+
inputProps: {
|
|
2118
|
+
isInteger: true,
|
|
2119
|
+
maxLength: 12,
|
|
2120
|
+
},
|
|
2121
|
+
},
|
|
2122
|
+
dadataPartyNameSelect: {
|
|
2123
|
+
label: 'Полное наименование',
|
|
2124
|
+
placeholder: 'Введите полное наименование',
|
|
2125
|
+
},
|
|
2126
|
+
};
|
|
2127
|
+
const DadataPartySelectField = JSX(({ field, input = {} }) => {
|
|
2128
|
+
const fieldName = input.name ?? '';
|
|
2129
|
+
const linkedField = FIELD_MAPPING[fieldName].linkedFieldName;
|
|
2130
|
+
const linkedFieldValue = field(linkedField).value;
|
|
2131
|
+
const linkedFieldValueData = linkedFieldValue?.data;
|
|
2132
|
+
useAsyncEffect(async () => {
|
|
2133
|
+
if (linkedFieldValueData?.fullName &&
|
|
2134
|
+
linkedFieldValueData?.fullName !== field(fieldName)?.value?.data?.fullName) {
|
|
2135
|
+
const fieldValues = getFieldValues(linkedFieldValue);
|
|
2136
|
+
const { fullName, address, inn } = fieldValues;
|
|
2137
|
+
const optionTextValue = getLinkedFieldValue(fieldValues, linkedField);
|
|
2138
|
+
const dadataFields = useDadataParty(optionTextValue);
|
|
2139
|
+
setSearchQuery(optionTextValue);
|
|
2140
|
+
setOptions(await dadataFields);
|
|
2141
|
+
field(fieldName)?.onChange?.({
|
|
2142
|
+
key: inn,
|
|
2143
|
+
text: optionTextValue,
|
|
2144
|
+
data: {
|
|
2145
|
+
fullName,
|
|
2146
|
+
address,
|
|
2147
|
+
},
|
|
2148
|
+
});
|
|
2149
|
+
}
|
|
2150
|
+
}, [linkedFieldValueData]);
|
|
2151
|
+
const [options, setOptions] = useState([]); // InnSuggestion
|
|
2143
2152
|
const [searchQuery, setSearchQuery] = useState('');
|
|
2144
2153
|
useAsyncEffect(async () => {
|
|
2145
|
-
const
|
|
2146
|
-
setOptions(await
|
|
2154
|
+
const dadataFields = useDadataParty(searchQuery);
|
|
2155
|
+
setOptions(await dadataFields);
|
|
2147
2156
|
return options;
|
|
2148
2157
|
}, [searchQuery]);
|
|
2149
|
-
const getOptions = useMemo(() => {
|
|
2150
|
-
|
|
2151
|
-
|
|
2152
|
-
|
|
2153
|
-
|
|
2154
|
-
|
|
2155
|
-
|
|
2156
|
-
|
|
2157
|
-
|
|
2158
|
-
|
|
2159
|
-
|
|
2160
|
-
|
|
2161
|
-
|
|
2162
|
-
|
|
2158
|
+
const getOptions = useMemo(() => (options || []).map((item = {}) => ({
|
|
2159
|
+
key: item.inn ?? '',
|
|
2160
|
+
text: item[FIELD_MAPPING[fieldName].fieldValue],
|
|
2161
|
+
data: {
|
|
2162
|
+
fullName: item.fullName,
|
|
2163
|
+
address: item.address,
|
|
2164
|
+
},
|
|
2165
|
+
})), [options]);
|
|
2166
|
+
return (jsx(SelectControl, { ...FIELD_CONFIG[fieldName], options: getOptions, ...field(input.name ?? ''), isSearch: true, isManualInput: true, disableFilterOptions: true, onSearchQuery: setSearchQuery, renderOptions: renderOptions }));
|
|
2167
|
+
});
|
|
2168
|
+
const getFieldValues = (value) => ({
|
|
2169
|
+
inn: value?.key,
|
|
2170
|
+
fullName: value?.data?.fullName,
|
|
2171
|
+
address: value?.data?.address,
|
|
2172
|
+
});
|
|
2173
|
+
const renderOptions = (option) => (jsxs("span", { children: [jsx(Text, { size: "text-s", children: option?.data?.fullName }), jsxs("div", { className: "space-x-2", children: [jsx(Text, { size: "text-s", font: "font-light", children: option?.key }), jsx(Text, { size: "text-s", font: "font-light", children: option?.data?.address })] })] }));
|
|
2174
|
+
const getLinkedFieldValue = (fieldValues, linkedField) => fieldValues?.[FIELD_MAPPING[linkedField].linkedFieldValue];
|
|
2175
|
+
|
|
2176
|
+
const DesiredMeetingDateField = JSX(({ field, input }) => (jsx(DatePickerControl, { label: "\u0416\u0435\u043B\u0430\u0435\u043C\u0430\u044F \u0434\u0430\u0442\u0430 \u0432\u0441\u0442\u0440\u0435\u0447\u0438", ...field(input?.name ?? '') })));
|
|
2177
|
+
|
|
2178
|
+
const EmailField$1 = JSX(({ field, input }) => {
|
|
2179
|
+
return jsx(InputControl, { label: "\u042D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u0430\u044F \u043F\u043E\u0447\u0442\u0430", ...field(input?.name ?? ''), ...input });
|
|
2180
|
+
});
|
|
2181
|
+
|
|
2182
|
+
const SERVICE_TYPES = [{ key: 'ULTRASERVICE', text: 'Ультра' }];
|
|
2183
|
+
const SERVICE_DIRECTIONS = [
|
|
2184
|
+
{ key: 'Физическое лицо' },
|
|
2185
|
+
{ key: 'Юридическое лицо / ИП' },
|
|
2186
|
+
];
|
|
2187
|
+
const FEEDBACK_METHOD = [
|
|
2188
|
+
{ key: 'phone', text: 'Телефонный звонок' },
|
|
2189
|
+
{ key: 'email', text: 'Электронное сообщение' },
|
|
2190
|
+
];
|
|
2191
|
+
|
|
2192
|
+
const FeedbackMethodField = JSX(({ field, input }) => (jsx(SelectControl, { label: "\u0421\u043F\u043E\u0441\u043E\u0431 \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u0438\u044F \u043E\u0442\u0432\u0435\u0442\u0430", options: FEEDBACK_METHOD, ...field(input?.name ?? '') })));
|
|
2193
|
+
|
|
2194
|
+
const FullNameField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u0424\u0418\u041E", ...field(input?.name ?? ''), ...input })));
|
|
2195
|
+
|
|
2196
|
+
const FullRegionField = JSX(({ field, input, params }) => {
|
|
2197
|
+
const isPremium = params?.isPremium;
|
|
2198
|
+
const branchByRegions = useBranchesByRegions(isPremium);
|
|
2199
|
+
const regions = useMemo(() => branchByRegions?.map(({ region }) => ({
|
|
2200
|
+
key: region,
|
|
2201
|
+
text: region,
|
|
2202
|
+
})), [branchByRegions]);
|
|
2203
|
+
return (jsx(SelectControl, { label: "\u0420\u0435\u0433\u0438\u043E\u043D", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0440\u0435\u0433\u0438\u043E\u043D", options: regions, ...field(input?.name ?? '') }));
|
|
2163
2204
|
});
|
|
2164
2205
|
|
|
2165
2206
|
const InnField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u0418\u041D\u041D", isInteger: true, maxLength: 12, ...input, ...field(input?.name ?? '') })));
|
|
@@ -2375,9 +2416,9 @@
|
|
|
2375
2416
|
typeForm: defaultValidator(),
|
|
2376
2417
|
consentToReceiveMaterials: agreementValidator,
|
|
2377
2418
|
consentDataProcessing: agreementValidator,
|
|
2378
|
-
partnerSymbolCode: defaultValidator(),
|
|
2379
|
-
|
|
2380
|
-
|
|
2419
|
+
partnerSymbolCode: defaultValidator('Укажите идентификатор партнёра'),
|
|
2420
|
+
dadataPartyInnSelect: innDadataValidator('Укажите ИНН'),
|
|
2421
|
+
dadataPartyNameSelect: defaultValidator('Укажите наименование организации'),
|
|
2381
2422
|
};
|
|
2382
2423
|
const getFormValidator = (fieldDefs, externalValidatorObj = {}) => {
|
|
2383
2424
|
const requiredFields = fieldDefs.filter((_) => Boolean(_?.required && _?.name));
|
|
@@ -2524,9 +2565,9 @@
|
|
|
2524
2565
|
comment: CommentField,
|
|
2525
2566
|
fullRegion: FullRegionField,
|
|
2526
2567
|
partnerSymbolCode: (props) => (jsx(PartnerSymbolCodeField, { ...props, source: AGENTS_REF })),
|
|
2527
|
-
innDadata: InnDadataField,
|
|
2528
|
-
companyNameByInn: CompanyNameByInnField,
|
|
2529
2568
|
partnerName: (props) => jsx(PartnerNameField, { ...props, source: AGENTS_REF }),
|
|
2569
|
+
dadataPartyNameSelect: DadataPartySelectField,
|
|
2570
|
+
dadataPartyInnSelect: DadataPartySelectField,
|
|
2530
2571
|
};
|
|
2531
2572
|
const getField = (field, params, externalInputs = {}) => (input, i) => {
|
|
2532
2573
|
const fieldsRegister = {
|
|
@@ -2598,7 +2639,7 @@
|
|
|
2598
2639
|
|
|
2599
2640
|
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
2600
2641
|
const getFormatData = (data) => {
|
|
2601
|
-
const { acquiringType, onlineCheckout, posTerminal, amount, term, annualRevenue, serviceType, vedTypes, region, inn, sufferedFrom, situationDescription, applierType, isPremium, ...usedData } = data;
|
|
2642
|
+
const { acquiringType, onlineCheckout, posTerminal, amount, term, annualRevenue, serviceType, vedTypes, region, inn, sufferedFrom, situationDescription, applierType, isPremium, dadataPartyNameSelect, partnerSymbolCode, dadataPartyInnSelect, ...usedData } = data;
|
|
2602
2643
|
const partnerComments = acquiringType || annualRevenue ? getPartnerComments(data) : null;
|
|
2603
2644
|
const formatData = {
|
|
2604
2645
|
...usedData,
|
|
@@ -2609,6 +2650,10 @@
|
|
|
2609
2650
|
...(serviceType ? { typeForm: serviceType } : {}),
|
|
2610
2651
|
...getIncidentComment(sufferedFrom?.text, situationDescription),
|
|
2611
2652
|
...getIsClient(applierType),
|
|
2653
|
+
...getDadataValues([
|
|
2654
|
+
[dadataPartyInnSelect, 'inn'],
|
|
2655
|
+
[dadataPartyNameSelect, 'fullName'],
|
|
2656
|
+
]),
|
|
2612
2657
|
};
|
|
2613
2658
|
return Object.fromEntries(Object.entries(formatData)?.map(([k, v]) => [k, v?.key || v]));
|
|
2614
2659
|
};
|
|
@@ -2622,6 +2667,12 @@
|
|
|
2622
2667
|
vedTypes: Object.fromEntries(VED_TYPES.map(({ id }) => [id, id === vedTypes])),
|
|
2623
2668
|
}
|
|
2624
2669
|
: {};
|
|
2670
|
+
const getDadataValues = (fields) => fields.reduce((acc, [field, name]) => {
|
|
2671
|
+
if (field?.text && name) {
|
|
2672
|
+
acc[name] = field.text;
|
|
2673
|
+
}
|
|
2674
|
+
return acc;
|
|
2675
|
+
}, {});
|
|
2625
2676
|
|
|
2626
2677
|
const initialFormState$1 = {
|
|
2627
2678
|
typeForm: '',
|
|
@@ -12053,7 +12104,7 @@
|
|
|
12053
12104
|
slots: () => [HEADER_SLOT, FOOTER_SLOT, STICKY_FOOTER_SLOT],
|
|
12054
12105
|
});
|
|
12055
12106
|
|
|
12056
|
-
const packageVersion = "0.14.
|
|
12107
|
+
const packageVersion = "0.14.914";
|
|
12057
12108
|
|
|
12058
12109
|
exports.Blocks = Blocks;
|
|
12059
12110
|
exports.ContentPage = ContentPage;
|