kui-crm_actions 0.0.108 → 0.0.111

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/cjs/index.js CHANGED
@@ -10,11 +10,13 @@ var to = require('await-to-js');
10
10
  var luxon = require('luxon');
11
11
  var kuiComplex = require('kui-complex');
12
12
  var jsxRuntime = require('react/jsx-runtime');
13
+ var react = require('react');
14
+ var reactHookForm = require('react-hook-form');
13
15
  var kuiBasic = require('kui-basic');
16
+ var yup$1 = require('@hookform/resolvers/yup');
14
17
  var mobxReact = require('mobx-react');
15
18
  var styled = require('@emotion/styled');
16
19
  var kuiIcon = require('kui-icon');
17
- var react = require('react');
18
20
  var mobx = require('mobx');
19
21
 
20
22
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -685,9 +687,9 @@ var apartmentFields = {
685
687
  var getBasicApartmentInfoFields = function (handlePlaceSelect, settings) { return [
686
688
  __assign({ name: "country", label: "Country", variant: "custom", CustomInput: kuiCrm.CountryAutocomplete, size: 12 }, settings === null || settings === void 0 ? void 0 : settings.country),
687
689
  __assign({ name: "region", label: "Region", variant: "custom", CustomInput: kuiCrm.RegionAutocomplete }, settings === null || settings === void 0 ? void 0 : settings.region),
688
- __assign({ name: "city", label: "City", variant: "custom", CustomInput: kuiCrm.CityAutocomplete }, settings === null || settings === void 0 ? void 0 : settings.city),
689
- __assign({ name: "apartment", variant: "custom", CustomInput: kuiComplex.InputWithAddressAutocomplete, handlePlaceSelect: handlePlaceSelect, size: 12 }, settings === null || settings === void 0 ? void 0 : settings.apartment),
690
- __assign({ label: "Apartment", name: "apartmentNumber", "data-testid": "apartment_number" }, settings === null || settings === void 0 ? void 0 : settings.apartmentNumber),
690
+ __assign({ name: "city", label: "City", variant: "custom", CustomInput: kuiCrm.CityAutocomplete, isRequired: true }, settings === null || settings === void 0 ? void 0 : settings.city),
691
+ __assign({ name: "apartment", variant: "custom", CustomInput: kuiComplex.InputWithAddressAutocomplete, handlePlaceSelect: handlePlaceSelect, size: 12, isRequired: true }, settings === null || settings === void 0 ? void 0 : settings.apartment),
692
+ __assign({ label: "Apartment", name: "apartmentNumber", "data-testid": "apartment_number", isRequired: true }, settings === null || settings === void 0 ? void 0 : settings.apartmentNumber),
691
693
  __assign({ label: "Zip code", name: "zipCode" }, settings === null || settings === void 0 ? void 0 : settings.zipCode),
692
694
  ]; };
693
695
 
@@ -699,20 +701,19 @@ var BasicApartmentInfoFieldsSchema = {
699
701
  city: yup__namespace.object({
700
702
  name: yup__namespace.string().required("This field is required"),
701
703
  }),
702
- zipCode: yup__namespace.string().required("This field is required"),
703
704
  };
704
705
  var BasicApartmentInfoStepSchema = yup__namespace.object(BasicApartmentInfoFieldsSchema);
705
706
 
706
707
  var getHouseInfoStep = function (settings) { return [
707
- __assign({ name: "typeOfHouse", label: "Type houses", variant: "select", options: kuiCrm.HouseTypesValues }, settings === null || settings === void 0 ? void 0 : settings.typeOfHouse),
708
+ __assign({ name: "typeOfHouse", label: "Type houses", variant: "select", options: kuiCrm.HouseTypesValues, isRequired: true }, settings === null || settings === void 0 ? void 0 : settings.typeOfHouse),
708
709
  __assign({ name: "houseNumber", label: "House series" }, settings === null || settings === void 0 ? void 0 : settings.houseNumber),
709
- __assign({ name: "wallMaterial", label: "Wall material", variant: "select", options: kuiCrm.WallMaterialsValues }, settings === null || settings === void 0 ? void 0 : settings.wallMaterial),
710
- __assign({ name: "overlapType", label: "Overlap type", variant: "select", options: kuiCrm.SlabsTypesValues }, settings === null || settings === void 0 ? void 0 : settings.overlapType),
711
- __assign({ name: "gasLeads", label: "Gas", variant: "select", options: kuiCrm.GasTypesValues }, settings === null || settings === void 0 ? void 0 : settings.gasLeads),
712
- __assign({ name: "withHotWater", label: "Hot water", variant: "select", options: kuiCrm.BooleanValues }, settings === null || settings === void 0 ? void 0 : settings.withHotWater),
713
- __assign({ name: "passengerElevatorsCount", label: "Passenger elevators", type: "number" }, settings === null || settings === void 0 ? void 0 : settings.passengerElevatorsCount),
714
- __assign({ name: "serviceElevatorsCount", label: "Service elevators", type: "number" }, settings === null || settings === void 0 ? void 0 : settings.serviceElevatorsCount),
715
- __assign({ name: "buildingYear", label: "Builded" }, settings === null || settings === void 0 ? void 0 : settings.buildingYear),
710
+ __assign({ name: "wallMaterial", label: "Wall material", variant: "select", options: kuiCrm.WallMaterialsValues, isRequired: true }, settings === null || settings === void 0 ? void 0 : settings.wallMaterial),
711
+ __assign({ name: "overlapType", label: "Overlap type", variant: "select", options: kuiCrm.SlabsTypesValues, isRequired: true }, settings === null || settings === void 0 ? void 0 : settings.overlapType),
712
+ __assign({ name: "gasLeads", label: "Gas", variant: "select", options: kuiCrm.GasTypesValues, isRequired: true }, settings === null || settings === void 0 ? void 0 : settings.gasLeads),
713
+ __assign({ name: "withHotWater", label: "Hot water", variant: "select", options: kuiCrm.BooleanValues, isRequired: true }, settings === null || settings === void 0 ? void 0 : settings.withHotWater),
714
+ __assign({ name: "passengerElevatorsCount", label: "Passenger elevators", type: "number", isRequired: true }, settings === null || settings === void 0 ? void 0 : settings.passengerElevatorsCount),
715
+ __assign({ name: "serviceElevatorsCount", label: "Service elevators", type: "number", isRequired: true }, settings === null || settings === void 0 ? void 0 : settings.serviceElevatorsCount),
716
+ __assign({ name: "buildingYear", label: "Builded", isRequired: true }, settings === null || settings === void 0 ? void 0 : settings.buildingYear),
716
717
  ]; };
717
718
 
718
719
  var HouseInfoFieldsSchema = {
@@ -733,7 +734,7 @@ var inputProps = {
733
734
  var getDetailApartmentInfoFields = function (roomsCount, bedroomsCount, settings) {
734
735
  var _a, _b;
735
736
  return __spreadArray(__spreadArray([
736
- __assign(__assign({ label: "Total area", name: "area", type: "number" }, inputProps), settings === null || settings === void 0 ? void 0 : settings.area)
737
+ __assign(__assign({ label: "Total area", name: "area", type: "number", isRequired: true }, inputProps), settings === null || settings === void 0 ? void 0 : settings.area)
737
738
  ], (roomsCount
738
739
  ? new Array(Number(roomsCount))
739
740
  .fill(0)
@@ -744,18 +745,18 @@ var getDetailApartmentInfoFields = function (roomsCount, bedroomsCount, settings
744
745
  : "Room ".concat(key + 1);
745
746
  var settingsKey = bedroomsCount && key < bedroomsCount ? "bedrooms" : "rooms";
746
747
  return [
747
- __assign({ name: "rooms.".concat(key, ".type"), label: "".concat(label, " type"), variant: "select", options: kuiCrm.RoomTypeValues }, ((settings === null || settings === void 0 ? void 0 : settings[settingsKey])
748
+ __assign({ name: "rooms.".concat(key, ".type"), label: "".concat(label, " type"), variant: "select", options: kuiCrm.RoomTypeValues, isRequired: true }, ((settings === null || settings === void 0 ? void 0 : settings[settingsKey])
748
749
  ? (_a = settings[settingsKey](key)) === null || _a === void 0 ? void 0 : _a.type
749
750
  : {})),
750
751
  ];
751
752
  })
752
753
  .flat()
753
754
  : []), true), [
754
- __assign(__assign({ name: "ceilingHeight", label: "Ceiling height", type: "number", cornerLabel: "m." }, inputProps), settings === null || settings === void 0 ? void 0 : settings.ceilingHeight),
755
- __assign({ name: "numberOfWindows", label: "Windows", type: "number" }, settings === null || settings === void 0 ? void 0 : settings.numberOfWindows),
756
- __assign({ name: "renovation.year", label: "Year of last renovation", type: "number" }, settings === null || settings === void 0 ? void 0 : settings.renovation.year),
757
- __assign({ name: "renovation.type", label: "Type of renovation", variant: "select", options: kuiCrm.RenovationTypeValues }, (_a = settings === null || settings === void 0 ? void 0 : settings.renovation) === null || _a === void 0 ? void 0 : _a.type),
758
- __assign({ name: "renovation.style", label: "Renovation style", variant: "select", options: kuiCrm.RenovationStyleValues }, (_b = settings === null || settings === void 0 ? void 0 : settings.renovation) === null || _b === void 0 ? void 0 : _b.style),
755
+ __assign(__assign({ name: "ceilingHeight", label: "Ceiling height", type: "number", cornerLabel: "m.", isRequired: true }, inputProps), settings === null || settings === void 0 ? void 0 : settings.ceilingHeight),
756
+ __assign({ name: "numberOfWindows", label: "Windows", type: "number", isRequired: true }, settings === null || settings === void 0 ? void 0 : settings.numberOfWindows),
757
+ __assign({ name: "renovation.year", label: "Year of last renovation", type: "number", isRequired: true }, settings === null || settings === void 0 ? void 0 : settings.renovation.year),
758
+ __assign({ name: "renovation.type", label: "Type of renovation", variant: "select", options: kuiCrm.RenovationTypeValues, isRequired: true }, (_a = settings === null || settings === void 0 ? void 0 : settings.renovation) === null || _a === void 0 ? void 0 : _a.type),
759
+ __assign({ name: "renovation.style", label: "Renovation style", variant: "select", options: kuiCrm.RenovationStyleValues, isRequired: true }, (_b = settings === null || settings === void 0 ? void 0 : settings.renovation) === null || _b === void 0 ? void 0 : _b.style),
759
760
  ], false);
760
761
  };
761
762
 
@@ -775,13 +776,13 @@ var DetailApartmentInfoFieldsSchema = {
775
776
  var DetailApartmentInfoStepSchema = yup__namespace.object(DetailApartmentInfoFieldsSchema);
776
777
 
777
778
  var getRoomsApartmentInfoFields = function (settings) { return [
778
- __assign({ label: "Floor", name: "floor", type: "number" }, settings === null || settings === void 0 ? void 0 : settings.floor),
779
- __assign({ label: "Floors", name: "floorCount", type: "number" }, settings === null || settings === void 0 ? void 0 : settings.floorCount),
780
- __assign({ label: "Rooms", name: "roomsNumber", type: "number" }, settings === null || settings === void 0 ? void 0 : settings.roomsNumber),
781
- __assign({ label: "Bedrooms", name: "bedroomsNumber", type: "number" }, settings === null || settings === void 0 ? void 0 : settings.bedroomsNumber),
782
- __assign({ label: "Bathrooms", name: "bathroomsNumber", type: "number" }, settings === null || settings === void 0 ? void 0 : settings.bathroomsNumber),
783
- __assign({ label: "Restrooms", name: "restroomsNumber", type: "number" }, settings === null || settings === void 0 ? void 0 : settings.restroomsNumber),
784
- __assign({ label: "Combined bathroom", name: "combinedBathroomsNumber", type: "number" }, settings === null || settings === void 0 ? void 0 : settings.combinedBathroomsNumber),
779
+ __assign({ label: "Floor", name: "floor", type: "number", isRequired: true }, settings === null || settings === void 0 ? void 0 : settings.floor),
780
+ __assign({ label: "Floors", name: "floorCount", type: "number", isRequired: true }, settings === null || settings === void 0 ? void 0 : settings.floorCount),
781
+ __assign({ label: "Rooms", name: "roomsNumber", type: "number", isRequired: true }, settings === null || settings === void 0 ? void 0 : settings.roomsNumber),
782
+ __assign({ label: "Bedrooms", name: "bedroomsNumber", type: "number", isRequired: true }, settings === null || settings === void 0 ? void 0 : settings.bedroomsNumber),
783
+ __assign({ label: "Bathrooms", name: "bathroomsNumber", type: "number", isRequired: true }, settings === null || settings === void 0 ? void 0 : settings.bathroomsNumber),
784
+ __assign({ label: "Restrooms", name: "restroomsNumber", type: "number", isRequired: true }, settings === null || settings === void 0 ? void 0 : settings.restroomsNumber),
785
+ __assign({ label: "Combined bathroom", name: "combinedBathroomsNumber", type: "number", isRequired: true }, settings === null || settings === void 0 ? void 0 : settings.combinedBathroomsNumber),
785
786
  ]; };
786
787
 
787
788
  var RoomsApartmentInfoFieldsSchema = {
@@ -822,11 +823,11 @@ var RoomsApartmentInfoFieldsSchema = {
822
823
  var RoomsApartmentInfoStepSchema = yup__namespace.object(RoomsApartmentInfoFieldsSchema);
823
824
 
824
825
  var getSecurityApartmentInfoFields = function (settings) { return [
825
- __assign({ label: "Object type", name: "typeOfObject", variant: "select", options: kuiCrm.RoomTypesValues }, settings === null || settings === void 0 ? void 0 : settings.typeOfObject),
826
- __assign({ label: "Entrance", name: "entrance" }, settings === null || settings === void 0 ? void 0 : settings.entrance),
827
- __assign({ name: "hasIntercom", label: "Intercom", variant: "select", options: kuiCrm.BooleanValues }, settings === null || settings === void 0 ? void 0 : settings.hasIntercom),
826
+ __assign({ label: "Object type", name: "typeOfObject", variant: "select", options: kuiCrm.RoomTypesValues, isRequired: true }, settings === null || settings === void 0 ? void 0 : settings.typeOfObject),
827
+ __assign({ label: "Entrance", name: "entrance", isRequired: true }, settings === null || settings === void 0 ? void 0 : settings.entrance),
828
+ __assign({ name: "hasIntercom", label: "Intercom", variant: "select", options: kuiCrm.BooleanValues, isRequired: true }, settings === null || settings === void 0 ? void 0 : settings.hasIntercom),
828
829
  __assign({ name: "intercomCode", label: "Intercom code", variant: "custom", CustomInput: kuiComplex.DependentInput, dependentInputName: "hasIntercom" }, settings === null || settings === void 0 ? void 0 : settings.intercomCode),
829
- __assign({ name: "hasGate", label: "Gate", variant: "select", options: kuiCrm.BooleanValues }, settings === null || settings === void 0 ? void 0 : settings.hasGate),
830
+ __assign({ name: "hasGate", label: "Gate", variant: "select", options: kuiCrm.BooleanValues, isRequired: true }, settings === null || settings === void 0 ? void 0 : settings.hasGate),
830
831
  __assign({ name: "gateCode", label: "Gate code", variant: "custom", CustomInput: kuiComplex.DependentInput, dependentInputName: "hasGate" }, settings === null || settings === void 0 ? void 0 : settings.gateCode),
831
832
  __assign({ name: "parkingType", label: "Parking", variant: "select", options: kuiCrm.ParkingTypesValues }, settings === null || settings === void 0 ? void 0 : settings.parkingType),
832
833
  __assign({ name: "parkingNumber", label: "Parking number", variant: "custom", CustomInput: kuiComplex.DependentInput, dependentInputName: "parkingType" }, settings === null || settings === void 0 ? void 0 : settings.parkingNumber),
@@ -856,17 +857,20 @@ var AdditionalInfoFieldsSchema = {
856
857
  countryOfResidence: yup__namespace.object({
857
858
  name: yup__namespace.string().required(kuiCrm.defaultRequiredMessage),
858
859
  }),
860
+ company: yup__namespace.object({
861
+ name: yup__namespace.string().required(kuiCrm.defaultRequiredMessage),
862
+ }),
859
863
  };
860
864
  var AdditionalInfoStepSchema = yup__namespace.object(AdditionalInfoFieldsSchema);
861
865
 
862
866
  var getHouseServicesInfoStep = function (settings) { return [
863
- __assign({ name: "hasBarrier", label: "Barrier", variant: "select", options: kuiCrm.BooleanValues }, settings === null || settings === void 0 ? void 0 : settings.hasBarrier),
867
+ __assign({ name: "hasBarrier", label: "Barrier", variant: "select", options: kuiCrm.BooleanValues, isRequired: true }, settings === null || settings === void 0 ? void 0 : settings.hasBarrier),
864
868
  __assign({ name: "barrierPhone", label: "Barrier code", variant: "custom", CustomInput: kuiComplex.DependentInput, dependentInputName: "hasBarrier", Input: kuiComplex.InputPhoneWithForm }, settings === null || settings === void 0 ? void 0 : settings.barrierPhone),
865
- __assign({ name: "hasConcierge", label: "Concierge", variant: "select", options: kuiCrm.BooleanValues }, settings === null || settings === void 0 ? void 0 : settings.hasConcierge),
869
+ __assign({ name: "hasConcierge", label: "Concierge", variant: "select", options: kuiCrm.BooleanValues, isRequired: true }, settings === null || settings === void 0 ? void 0 : settings.hasConcierge),
866
870
  __assign({ name: "conciergePhone", label: "Concierge", variant: "custom", CustomInput: kuiComplex.DependentInput, dependentInputName: "hasConcierge", Input: kuiComplex.InputPhoneWithForm }, settings === null || settings === void 0 ? void 0 : settings.conciergePhone),
867
- __assign({ name: "hasSecurity", label: "Security", variant: "select", options: kuiCrm.BooleanValues }, settings === null || settings === void 0 ? void 0 : settings.hasSecurity),
871
+ __assign({ name: "hasSecurity", label: "Security", variant: "select", options: kuiCrm.BooleanValues, isRequired: true }, settings === null || settings === void 0 ? void 0 : settings.hasSecurity),
868
872
  __assign({ name: "securityPhone", label: "Security", variant: "custom", CustomInput: kuiComplex.DependentInput, dependentInputName: "hasSecurity", Input: kuiComplex.InputPhoneWithForm }, settings === null || settings === void 0 ? void 0 : settings.securityPhone),
869
- __assign({ name: "hasVideoControl", label: "Video surveillance", variant: "select", options: kuiCrm.BooleanValues }, settings === null || settings === void 0 ? void 0 : settings.hasVideoControl),
873
+ __assign({ name: "hasVideoControl", label: "Video surveillance", variant: "select", options: kuiCrm.BooleanValues, isRequired: true }, settings === null || settings === void 0 ? void 0 : settings.hasVideoControl),
870
874
  __assign({ name: "videoControlPhone", label: "Video surveillance", variant: "custom", CustomInput: kuiComplex.DependentInput, dependentInputName: "hasVideoControl", Input: kuiComplex.InputPhoneWithForm }, settings === null || settings === void 0 ? void 0 : settings.videoControlPhone),
871
875
  ]; };
872
876
 
@@ -886,10 +890,10 @@ var metersOptions = kuiCrm.getNumbersValues(7);
886
890
  var getMetersInfoStepFields = function (settings) {
887
891
  var _a, _b, _c, _d;
888
892
  return [
889
- __assign({ name: "maxMeters.water", label: "Water", variant: "select", options: metersOptions }, (_a = settings === null || settings === void 0 ? void 0 : settings.maxMeters) === null || _a === void 0 ? void 0 : _a.water),
890
- __assign({ name: "maxMeters.electricity", label: "Electricity", variant: "select", options: metersOptions }, (_b = settings === null || settings === void 0 ? void 0 : settings.maxMeters) === null || _b === void 0 ? void 0 : _b.electricity),
891
- __assign({ name: "maxMeters.gas", label: "Gas", variant: "select", options: metersOptions }, (_c = settings === null || settings === void 0 ? void 0 : settings.maxMeters) === null || _c === void 0 ? void 0 : _c.gas),
892
- __assign({ name: "maxMeters.heating", label: "Heating", variant: "select", options: metersOptions }, (_d = settings === null || settings === void 0 ? void 0 : settings.maxMeters) === null || _d === void 0 ? void 0 : _d.heating),
893
+ __assign({ name: "maxMeters.water", label: "Water", variant: "select", options: metersOptions, isRequired: true }, (_a = settings === null || settings === void 0 ? void 0 : settings.maxMeters) === null || _a === void 0 ? void 0 : _a.water),
894
+ __assign({ name: "maxMeters.electricity", label: "Electricity", variant: "select", options: metersOptions, isRequired: true }, (_b = settings === null || settings === void 0 ? void 0 : settings.maxMeters) === null || _b === void 0 ? void 0 : _b.electricity),
895
+ __assign({ name: "maxMeters.gas", label: "Gas", variant: "select", options: metersOptions, isRequired: true }, (_c = settings === null || settings === void 0 ? void 0 : settings.maxMeters) === null || _c === void 0 ? void 0 : _c.gas),
896
+ __assign({ name: "maxMeters.heating", label: "Heating", variant: "select", options: metersOptions, isRequired: true }, (_d = settings === null || settings === void 0 ? void 0 : settings.maxMeters) === null || _d === void 0 ? void 0 : _d.heating),
893
897
  ];
894
898
  };
895
899
 
@@ -917,15 +921,14 @@ var getTelecommunicationsInfoStepFields = function (settings) {
917
921
  };
918
922
 
919
923
  var TelecommunicationsInfoFieldsSchema = {
920
- tvType: yup__namespace.string().required(kuiCrm.defaultRequiredMessage),
921
924
  homePhone: kuiCrm.phoneNonRequiredSchema("homePhone"),
922
925
  };
923
926
  var TelecommunicationsInfoStepSchema = yup__namespace
924
927
  .object()
925
928
  .shape(TelecommunicationsInfoFieldsSchema, [["homePhone", "homePhone"]]);
926
929
 
927
- var getFillingInfoFields = function (withType, type, setType, settings) { return __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], kuiUtils.addToArrayByCondition(withType, __assign({ label: "Filling type", name: "type", variant: "select", options: kuiCrm.FillingTypeValues, handleChange: setType }, settings === null || settings === void 0 ? void 0 : settings.type)), true), [
928
- __assign({ label: "Name (tag)", name: "tag", type: type, variant: "custom", CustomInput: kuiCrm.FillingTagsAutocomplete }, settings === null || settings === void 0 ? void 0 : settings.tag)
930
+ var getFillingInfoFields = function (withType, type, setType, settings) { return __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], kuiUtils.addToArrayByCondition(withType, __assign({ label: "Filling type", name: "type", variant: "select", options: kuiCrm.FillingTypeValues, handleChange: setType, isRequired: true }, settings === null || settings === void 0 ? void 0 : settings.type)), true), [
931
+ __assign({ label: "Name (tag)", name: "tag", type: type, variant: "custom", CustomInput: kuiCrm.FillingTagsAutocomplete, isRequired: true }, settings === null || settings === void 0 ? void 0 : settings.tag)
929
932
  ], false), kuiUtils.addToArrayByCondition(type !== "finish", __assign({ label: "Serial code", name: "serialNumber", size: 6 }, settings === null || settings === void 0 ? void 0 : settings.serialNumber)), true), kuiUtils.addToArrayByCondition(type !== "finish", __assign({ label: "Amount", name: "numberOfSubjects", type: "number", size: 6 }, settings === null || settings === void 0 ? void 0 : settings.numberOfSubjects)), true), [
930
933
  __assign({ label: "Description", name: "name", isTextArea: true }, settings === null || settings === void 0 ? void 0 : settings.name)
931
934
  ], false), kuiUtils.addToArrayByCondition(type !== "finish", __assign({ label: "Instruction", name: "instruction", variant: "custom", CustomInput: kuiCrm.InputFileWithVisibility }, settings === null || settings === void 0 ? void 0 : settings.instruction)), true); };
@@ -942,6 +945,46 @@ var FillingInfoFieldsSchema = yup__namespace.object().shape({
942
945
  }),
943
946
  });
944
947
 
948
+ var meterFeaturesFieldsSchema = {
949
+ number: yup__namespace.string().required("This field is required"),
950
+ };
951
+ var getMeterFeaturesFieldsSchema = function (valuesFields) {
952
+ var valuesSchema = kuiCrm.getMeterValuesFieldsSchema(valuesFields);
953
+ return yup__namespace.object().shape(__assign(__assign({}, meterFeaturesFieldsSchema), Object.assign.apply(Object, __spreadArray([{}], valuesSchema, false))));
954
+ };
955
+
956
+ var getInventoryMeterFields = function (settings, inputsSettings) { return __spreadArray(__spreadArray([], kuiCrm.basicFieldsOfNewResourceMeter(settings, inputsSettings), true), [
957
+ __assign({ label: "Activation date", name: "startDate", variant: "date", max: luxon.DateTime.now() }, inputsSettings === null || inputsSettings === void 0 ? void 0 : inputsSettings.startDate),
958
+ __assign({ label: "Passport", name: "passportFile", variant: "custom", CustomInput: kuiComplex.InputFile }, inputsSettings === null || inputsSettings === void 0 ? void 0 : inputsSettings.passportFile),
959
+ ], false); };
960
+
961
+ function InventoryMeterInfoFields(props) {
962
+ var resource = props.resource, handleSubmit = props.handleSubmit, handlePrevClick = props.handlePrevClick, defaultValues = props.defaultValues;
963
+ var withMeterType = resource === "water" || resource === "electricity";
964
+ var defaultType = resource === "water" ? "cold" : "T1";
965
+ var defaultMeterType = withMeterType ? defaultType : null;
966
+ var _a = react.useState((defaultValues === null || defaultValues === void 0 ? void 0 : defaultValues.type) || defaultMeterType), meterType = _a[0], setMeterType = _a[1];
967
+ var meterFields = getInventoryMeterFields({
968
+ resource: resource,
969
+ meterType: meterType,
970
+ });
971
+ var valueFieldsName = meterFields
972
+ .filter(function (field) { return field.type === "number"; })
973
+ .map(function (field) { return field.name; });
974
+ var meterFeaturesFieldsSchema = getMeterFeaturesFieldsSchema(valueFieldsName);
975
+ var form = react.useMemo(function () {
976
+ return reactHookForm.useForm({
977
+ resolver: yup$1.yupResolver(meterFeaturesFieldsSchema),
978
+ defaultValues: __assign({}, defaultValues),
979
+ values: defaultValues,
980
+ });
981
+ }, [meterFeaturesFieldsSchema]);
982
+ return (jsxRuntime.jsx(kuiCrm.FormWrapper, __assign({ form: form, onSubmit: handleSubmit, label: "Next", variant: "next", withPrevStep: true, handlePrevClick: handlePrevClick }, { children: jsxRuntime.jsxs(kuiBasic.Grid, __assign({ container: true, spacing: 2 }, { children: [withMeterType && (jsxRuntime.jsx(kuiCrm.MeterTypeRadioGroup, { form: form, resource: resource, handleChange: setMeterType })), meterFields.map(function (_a) {
983
+ var size = _a.size, field = __rest(_a, ["size"]);
984
+ return (jsxRuntime.jsx(kuiBasic.Grid, __assign({ item: true, xs: size || 6 }, { children: jsxRuntime.jsx(kuiCrm.InputByType, __assign({ form: form }, field)) }), field.name));
985
+ })] })) })));
986
+ }
987
+
945
988
  var renderMetersSteps = function (MeterStep, MeterPhotoStep, maxMeters) {
946
989
  var meters = __spreadArray(__spreadArray(__spreadArray(__spreadArray([], new Array(Number((maxMeters === null || maxMeters === void 0 ? void 0 : maxMeters.water) || 0)).fill("water"), true), new Array(Number((maxMeters === null || maxMeters === void 0 ? void 0 : maxMeters.electricity) || 0)).fill("electricity"), true), new Array(Number((maxMeters === null || maxMeters === void 0 ? void 0 : maxMeters.gas) || 0)).fill("gas"), true), new Array(Number((maxMeters === null || maxMeters === void 0 ? void 0 : maxMeters.heating) || 0)).fill("heating"), true);
947
990
  return meters.map(function (resource, index) { return [
@@ -1155,6 +1198,7 @@ exports.HouseServicesInfoFieldsSchema = HouseServicesInfoFieldsSchema;
1155
1198
  exports.HouseServicesInfoStepSchema = HouseServicesInfoStepSchema;
1156
1199
  exports.InspectionFeedback = index;
1157
1200
  exports.InspectionFillingCard = InspectionFillingCard;
1201
+ exports.InventoryMeterInfoFields = InventoryMeterInfoFields;
1158
1202
  exports.MetersInfoFieldsSchema = MetersInfoFieldsSchema;
1159
1203
  exports.MetersInfoStepSchema = MetersInfoStepSchema;
1160
1204
  exports.ObjectForMapCard = ObjectForMapCard;
@@ -1174,6 +1218,7 @@ exports.getDetailApartmentInfoFields = getDetailApartmentInfoFields;
1174
1218
  exports.getFillingInfoFields = getFillingInfoFields;
1175
1219
  exports.getHouseInfoStep = getHouseInfoStep;
1176
1220
  exports.getHouseServicesInfoStep = getHouseServicesInfoStep;
1221
+ exports.getInventoryMeterFields = getInventoryMeterFields;
1177
1222
  exports.getMetersInfoStepFields = getMetersInfoStepFields;
1178
1223
  exports.getPartialMeterInfoSchema = getPartialMeterInfoSchema;
1179
1224
  exports.getRoomsApartmentInfoFields = getRoomsApartmentInfoFields;