@redneckz/wildless-cms-uni-blocks 0.5.3 → 0.5.5
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/README.md +10 -3
- package/bundle/blocks.schema.json +1 -1
- package/bundle/bundle.umd.js +235 -77
- package/bundle/bundle.umd.min.js +1 -1
- package/cosmos-static/icons/MapMarkerClusterIcon.svg +1 -0
- package/cosmos-static/icons/MapMarkerSingleIcon.svg +1 -0
- package/dist/ProjectSettings.d.ts +2 -0
- package/dist/ProjectSettings.js +3 -0
- package/dist/ProjectSettings.js.map +1 -1
- package/dist/components/Bonus/Bonus.js +1 -1
- package/dist/components/Bonus/Bonus.js.map +1 -1
- package/dist/components/Calculator/Calculator.js +1 -1
- package/dist/components/Calculator/Calculator.js.map +1 -1
- package/dist/components/ErrorBlock/ErrorBlock.js +3 -3
- package/dist/components/ErrorBlock/ErrorBlock.js.map +1 -1
- package/dist/components/ErrorBlock/ErrorBlockContent.d.ts +6 -6
- package/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js +2 -2
- package/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
- package/dist/components/Navigation/Navigation.js +1 -1
- package/dist/components/Navigation/Navigation.js.map +1 -1
- package/dist/components/OfficeServicesBlock/OfficeServicesBlock.js +3 -3
- package/dist/components/OfficeServicesBlock/OfficeServicesBlock.js.map +1 -1
- package/dist/components/OfficeServicesBlock/OfficeServicesBlockContent.d.ts +2 -1
- package/dist/components/SafeDepositRental/RegionsAndBranches.d.ts +2 -2
- package/dist/components/SafeDepositRental/SafeBoxCases.d.ts +1 -1
- package/dist/components/SafeDepositRental/SafeDepositRental.js +14 -2
- package/dist/components/SafeDepositRental/SafeDepositRental.js.map +1 -1
- package/dist/components/SafeDepositRental/SafeDepositRentalContent.d.ts +2 -17
- package/dist/components/SafeDepositRental/SafeDepositRentalFields.d.ts +9 -0
- package/dist/components/SafeDepositRental/SafeDepositRentalFields.js +21 -0
- package/dist/components/SafeDepositRental/SafeDepositRentalFields.js.map +1 -0
- package/dist/components/SafeDepositRental/SafeDepositRentalForm.d.ts +2 -0
- package/dist/components/SafeDepositRental/SafeDepositRentalForm.js +33 -42
- package/dist/components/SafeDepositRental/SafeDepositRentalForm.js.map +1 -1
- package/dist/components/SafeDepositRental/SafeDepositRentalTotal.d.ts +1 -1
- package/dist/components/SafeDepositRental/SafeDepositRentalTotal.js.map +1 -1
- package/dist/components/SafeDepositRental/SafeDepositRentalTypes.d.ts +10 -0
- package/dist/components/SafeDepositRental/SafeDepositRentalTypes.js +2 -0
- package/dist/components/SafeDepositRental/SafeDepositRentalTypes.js.map +1 -0
- package/dist/components/SafeDepositRental/WrapperSelect.js +2 -2
- package/dist/components/SafeDepositRental/WrapperSelect.js.map +1 -1
- package/dist/components/SafeDepositRental/YandexMap.d.ts +5 -0
- package/dist/components/SafeDepositRental/YandexMap.js +24 -0
- package/dist/components/SafeDepositRental/YandexMap.js.map +1 -0
- package/dist/components/SafeDepositRental/renderClusterer.d.ts +1 -0
- package/dist/components/SafeDepositRental/renderClusterer.js +37 -0
- package/dist/components/SafeDepositRental/renderClusterer.js.map +1 -0
- package/dist/components/SafeDepositRental/useGetRegions.js +1 -1
- package/dist/components/SafeDepositRental/useGetRegions.js.map +1 -1
- package/dist/components/SafeDepositRental/utils.d.ts +3 -0
- package/dist/components/SafeDepositRental/utils.js +15 -0
- package/dist/components/SafeDepositRental/utils.js.map +1 -0
- package/dist/hooks/useFetchSafeBoxes.d.ts +22 -0
- package/dist/hooks/useFetchSafeBoxes.js +17 -0
- package/dist/hooks/useFetchSafeBoxes.js.map +1 -0
- package/dist/hooks/useScript.d.ts +6 -0
- package/dist/hooks/useScript.js +75 -0
- package/dist/hooks/useScript.js.map +1 -0
- package/dist/icons/IconName.d.ts +6 -2
- package/dist/icons/IconName.js +4 -0
- package/dist/icons/IconName.js.map +1 -1
- package/dist/react/setup-fixture.js +6 -0
- package/dist/react/setup-fixture.js.map +1 -1
- package/dist/ui-kit/BenefitItem/BenefitItem.js +2 -2
- package/dist/ui-kit/BenefitItem/BenefitItem.js.map +1 -1
- package/dist/ui-kit/Button/LikeButton.js +1 -1
- package/dist/ui-kit/Button/LikeButton.js.map +1 -1
- package/dist/ui-kit/SearchBar/SearchBarInner.js +1 -1
- package/dist/ui-kit/SearchBar/SearchBarInner.js.map +1 -1
- package/dist/wlc.json +5 -0
- package/lib/ProjectSettings.d.ts +2 -0
- package/lib/ProjectSettings.js +3 -0
- package/lib/ProjectSettings.js.map +1 -1
- package/lib/common.css +1 -1
- package/lib/components/Bonus/Bonus.js +1 -1
- package/lib/components/Bonus/Bonus.js.map +1 -1
- package/lib/components/Calculator/Calculator.js +1 -1
- package/lib/components/Calculator/Calculator.js.map +1 -1
- package/lib/components/ErrorBlock/ErrorBlock.js +3 -3
- package/lib/components/ErrorBlock/ErrorBlock.js.map +1 -1
- package/lib/components/ErrorBlock/ErrorBlockContent.d.ts +6 -6
- package/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js +2 -2
- package/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
- package/lib/components/Navigation/Navigation.js +1 -1
- package/lib/components/Navigation/Navigation.js.map +1 -1
- package/lib/components/OfficeServicesBlock/OfficeServicesBlock.js +3 -3
- package/lib/components/OfficeServicesBlock/OfficeServicesBlock.js.map +1 -1
- package/lib/components/OfficeServicesBlock/OfficeServicesBlockContent.d.ts +2 -1
- package/lib/components/SafeDepositRental/RegionsAndBranches.d.ts +2 -2
- package/lib/components/SafeDepositRental/SafeBoxCases.d.ts +1 -1
- package/lib/components/SafeDepositRental/SafeDepositRental.js +14 -2
- package/lib/components/SafeDepositRental/SafeDepositRental.js.map +1 -1
- package/lib/components/SafeDepositRental/SafeDepositRentalContent.d.ts +2 -17
- package/lib/components/SafeDepositRental/SafeDepositRentalFields.d.ts +9 -0
- package/lib/components/SafeDepositRental/SafeDepositRentalFields.js +19 -0
- package/lib/components/SafeDepositRental/SafeDepositRentalFields.js.map +1 -0
- package/lib/components/SafeDepositRental/SafeDepositRentalForm.d.ts +2 -0
- package/lib/components/SafeDepositRental/SafeDepositRentalForm.js +33 -42
- package/lib/components/SafeDepositRental/SafeDepositRentalForm.js.map +1 -1
- package/lib/components/SafeDepositRental/SafeDepositRentalTotal.d.ts +1 -1
- package/lib/components/SafeDepositRental/SafeDepositRentalTotal.js.map +1 -1
- package/lib/components/SafeDepositRental/SafeDepositRentalTypes.d.ts +10 -0
- package/lib/components/SafeDepositRental/SafeDepositRentalTypes.js +2 -0
- package/lib/components/SafeDepositRental/SafeDepositRentalTypes.js.map +1 -0
- package/lib/components/SafeDepositRental/WrapperSelect.js +2 -2
- package/lib/components/SafeDepositRental/WrapperSelect.js.map +1 -1
- package/lib/components/SafeDepositRental/YandexMap.d.ts +5 -0
- package/lib/components/SafeDepositRental/YandexMap.js +22 -0
- package/lib/components/SafeDepositRental/YandexMap.js.map +1 -0
- package/lib/components/SafeDepositRental/renderClusterer.d.ts +1 -0
- package/lib/components/SafeDepositRental/renderClusterer.js +34 -0
- package/lib/components/SafeDepositRental/renderClusterer.js.map +1 -0
- package/lib/components/SafeDepositRental/useGetRegions.js +1 -1
- package/lib/components/SafeDepositRental/useGetRegions.js.map +1 -1
- package/lib/components/SafeDepositRental/utils.d.ts +3 -0
- package/lib/components/SafeDepositRental/utils.js +11 -0
- package/lib/components/SafeDepositRental/utils.js.map +1 -0
- package/lib/hooks/useFetchSafeBoxes.d.ts +22 -0
- package/lib/hooks/useFetchSafeBoxes.js +14 -0
- package/lib/hooks/useFetchSafeBoxes.js.map +1 -0
- package/lib/hooks/useScript.d.ts +6 -0
- package/lib/hooks/useScript.js +72 -0
- package/lib/hooks/useScript.js.map +1 -0
- package/lib/icons/IconName.d.ts +6 -2
- package/lib/icons/IconName.js +4 -0
- package/lib/icons/IconName.js.map +1 -1
- package/lib/react/setup-fixture.js +3 -0
- package/lib/react/setup-fixture.js.map +1 -1
- package/lib/ui-kit/BenefitItem/BenefitItem.js +2 -2
- package/lib/ui-kit/BenefitItem/BenefitItem.js.map +1 -1
- package/lib/ui-kit/Button/LikeButton.js +1 -1
- package/lib/ui-kit/Button/LikeButton.js.map +1 -1
- package/lib/ui-kit/SearchBar/SearchBarInner.js +1 -1
- package/lib/ui-kit/SearchBar/SearchBarInner.js.map +1 -1
- package/lib/wlc.json +5 -0
- package/mobile/bundle/bundle.umd.js +29 -12
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/dist/ProjectSettings.d.ts +2 -0
- package/mobile/dist/ProjectSettings.js +3 -0
- package/mobile/dist/ProjectSettings.js.map +1 -1
- package/mobile/dist/components/Bonus/Bonus.js +1 -1
- package/mobile/dist/components/Bonus/Bonus.js.map +1 -1
- package/mobile/dist/components/Calculator/Calculator.js +1 -1
- package/mobile/dist/components/Calculator/Calculator.js.map +1 -1
- package/mobile/dist/components/ErrorBlock/ErrorBlock.js +3 -3
- package/mobile/dist/components/ErrorBlock/ErrorBlock.js.map +1 -1
- package/mobile/dist/components/ErrorBlock/ErrorBlockContent.d.ts +6 -6
- package/mobile/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js +2 -2
- package/mobile/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
- package/mobile/dist/components/Navigation/Navigation.js +1 -1
- package/mobile/dist/components/Navigation/Navigation.js.map +1 -1
- package/mobile/dist/components/OfficeServicesBlock/OfficeServicesBlock.js +3 -3
- package/mobile/dist/components/OfficeServicesBlock/OfficeServicesBlock.js.map +1 -1
- package/mobile/dist/components/OfficeServicesBlock/OfficeServicesBlockContent.d.ts +2 -1
- package/mobile/dist/components/SafeDepositRental/RegionsAndBranches.d.ts +2 -2
- package/mobile/dist/components/SafeDepositRental/SafeBoxCases.d.ts +1 -1
- package/mobile/dist/components/SafeDepositRental/SafeDepositRental.js +14 -2
- package/mobile/dist/components/SafeDepositRental/SafeDepositRental.js.map +1 -1
- package/mobile/dist/components/SafeDepositRental/SafeDepositRentalContent.d.ts +2 -17
- package/mobile/dist/components/SafeDepositRental/SafeDepositRentalFields.d.ts +9 -0
- package/mobile/dist/components/SafeDepositRental/SafeDepositRentalFields.js +21 -0
- package/mobile/dist/components/SafeDepositRental/SafeDepositRentalFields.js.map +1 -0
- package/mobile/dist/components/SafeDepositRental/SafeDepositRentalForm.d.ts +2 -0
- package/mobile/dist/components/SafeDepositRental/SafeDepositRentalForm.js +33 -42
- package/mobile/dist/components/SafeDepositRental/SafeDepositRentalForm.js.map +1 -1
- package/mobile/dist/components/SafeDepositRental/SafeDepositRentalTotal.d.ts +1 -1
- package/mobile/dist/components/SafeDepositRental/SafeDepositRentalTotal.js.map +1 -1
- package/mobile/dist/components/SafeDepositRental/SafeDepositRentalTypes.d.ts +10 -0
- package/mobile/dist/components/SafeDepositRental/SafeDepositRentalTypes.js +2 -0
- package/mobile/dist/components/SafeDepositRental/SafeDepositRentalTypes.js.map +1 -0
- package/mobile/dist/components/SafeDepositRental/WrapperSelect.js +2 -2
- package/mobile/dist/components/SafeDepositRental/WrapperSelect.js.map +1 -1
- package/mobile/dist/components/SafeDepositRental/YandexMap.d.ts +5 -0
- package/mobile/dist/components/SafeDepositRental/YandexMap.js +24 -0
- package/mobile/dist/components/SafeDepositRental/YandexMap.js.map +1 -0
- package/mobile/dist/components/SafeDepositRental/renderClusterer.d.ts +1 -0
- package/mobile/dist/components/SafeDepositRental/renderClusterer.js +37 -0
- package/mobile/dist/components/SafeDepositRental/renderClusterer.js.map +1 -0
- package/mobile/dist/components/SafeDepositRental/useGetRegions.js +1 -1
- package/mobile/dist/components/SafeDepositRental/useGetRegions.js.map +1 -1
- package/mobile/dist/components/SafeDepositRental/utils.d.ts +3 -0
- package/mobile/dist/components/SafeDepositRental/utils.js +15 -0
- package/mobile/dist/components/SafeDepositRental/utils.js.map +1 -0
- package/mobile/dist/hooks/useFetchSafeBoxes.d.ts +22 -0
- package/mobile/dist/hooks/useFetchSafeBoxes.js +17 -0
- package/mobile/dist/hooks/useFetchSafeBoxes.js.map +1 -0
- package/mobile/dist/hooks/useScript.d.ts +6 -0
- package/mobile/dist/hooks/useScript.js +75 -0
- package/mobile/dist/hooks/useScript.js.map +1 -0
- package/mobile/dist/icons/IconName.d.ts +6 -2
- package/mobile/dist/icons/IconName.js +4 -0
- package/mobile/dist/icons/IconName.js.map +1 -1
- package/mobile/dist/react/setup-fixture.js +6 -0
- package/mobile/dist/react/setup-fixture.js.map +1 -1
- package/mobile/dist/ui-kit/BenefitItem/BenefitItem.js +2 -2
- package/mobile/dist/ui-kit/BenefitItem/BenefitItem.js.map +1 -1
- package/mobile/dist/ui-kit/Button/LikeButton.js +1 -1
- package/mobile/dist/ui-kit/Button/LikeButton.js.map +1 -1
- package/mobile/dist/ui-kit/SearchBar/SearchBarInner.js +1 -1
- package/mobile/dist/ui-kit/SearchBar/SearchBarInner.js.map +1 -1
- package/mobile/dist/wlc.json +5 -0
- package/mobile/lib/ProjectSettings.d.ts +2 -0
- package/mobile/lib/ProjectSettings.js +3 -0
- package/mobile/lib/ProjectSettings.js.map +1 -1
- package/mobile/lib/components/Bonus/Bonus.js +1 -1
- package/mobile/lib/components/Bonus/Bonus.js.map +1 -1
- package/mobile/lib/components/Calculator/Calculator.js +1 -1
- package/mobile/lib/components/Calculator/Calculator.js.map +1 -1
- package/mobile/lib/components/ErrorBlock/ErrorBlock.js +3 -3
- package/mobile/lib/components/ErrorBlock/ErrorBlock.js.map +1 -1
- package/mobile/lib/components/ErrorBlock/ErrorBlockContent.d.ts +6 -6
- package/mobile/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js +2 -2
- package/mobile/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
- package/mobile/lib/components/Navigation/Navigation.js +1 -1
- package/mobile/lib/components/Navigation/Navigation.js.map +1 -1
- package/mobile/lib/components/OfficeServicesBlock/OfficeServicesBlock.js +3 -3
- package/mobile/lib/components/OfficeServicesBlock/OfficeServicesBlock.js.map +1 -1
- package/mobile/lib/components/OfficeServicesBlock/OfficeServicesBlockContent.d.ts +2 -1
- package/mobile/lib/components/SafeDepositRental/RegionsAndBranches.d.ts +2 -2
- package/mobile/lib/components/SafeDepositRental/SafeBoxCases.d.ts +1 -1
- package/mobile/lib/components/SafeDepositRental/SafeDepositRental.js +14 -2
- package/mobile/lib/components/SafeDepositRental/SafeDepositRental.js.map +1 -1
- package/mobile/lib/components/SafeDepositRental/SafeDepositRentalContent.d.ts +2 -17
- package/mobile/lib/components/SafeDepositRental/SafeDepositRentalFields.d.ts +9 -0
- package/mobile/lib/components/SafeDepositRental/SafeDepositRentalFields.js +19 -0
- package/mobile/lib/components/SafeDepositRental/SafeDepositRentalFields.js.map +1 -0
- package/mobile/lib/components/SafeDepositRental/SafeDepositRentalForm.d.ts +2 -0
- package/mobile/lib/components/SafeDepositRental/SafeDepositRentalForm.js +33 -42
- package/mobile/lib/components/SafeDepositRental/SafeDepositRentalForm.js.map +1 -1
- package/mobile/lib/components/SafeDepositRental/SafeDepositRentalTotal.d.ts +1 -1
- package/mobile/lib/components/SafeDepositRental/SafeDepositRentalTotal.js.map +1 -1
- package/mobile/lib/components/SafeDepositRental/SafeDepositRentalTypes.d.ts +10 -0
- package/mobile/lib/components/SafeDepositRental/SafeDepositRentalTypes.js +2 -0
- package/mobile/lib/components/SafeDepositRental/SafeDepositRentalTypes.js.map +1 -0
- package/mobile/lib/components/SafeDepositRental/WrapperSelect.js +2 -2
- package/mobile/lib/components/SafeDepositRental/WrapperSelect.js.map +1 -1
- package/mobile/lib/components/SafeDepositRental/YandexMap.d.ts +5 -0
- package/mobile/lib/components/SafeDepositRental/YandexMap.js +22 -0
- package/mobile/lib/components/SafeDepositRental/YandexMap.js.map +1 -0
- package/mobile/lib/components/SafeDepositRental/renderClusterer.d.ts +1 -0
- package/mobile/lib/components/SafeDepositRental/renderClusterer.js +34 -0
- package/mobile/lib/components/SafeDepositRental/renderClusterer.js.map +1 -0
- package/mobile/lib/components/SafeDepositRental/useGetRegions.js +1 -1
- package/mobile/lib/components/SafeDepositRental/useGetRegions.js.map +1 -1
- package/mobile/lib/components/SafeDepositRental/utils.d.ts +3 -0
- package/mobile/lib/components/SafeDepositRental/utils.js +11 -0
- package/mobile/lib/components/SafeDepositRental/utils.js.map +1 -0
- package/mobile/lib/hooks/useFetchSafeBoxes.d.ts +22 -0
- package/mobile/lib/hooks/useFetchSafeBoxes.js +14 -0
- package/mobile/lib/hooks/useFetchSafeBoxes.js.map +1 -0
- package/mobile/lib/hooks/useScript.d.ts +6 -0
- package/mobile/lib/hooks/useScript.js +72 -0
- package/mobile/lib/hooks/useScript.js.map +1 -0
- package/mobile/lib/icons/IconName.d.ts +6 -2
- package/mobile/lib/icons/IconName.js +4 -0
- package/mobile/lib/icons/IconName.js.map +1 -1
- package/mobile/lib/react/setup-fixture.js +3 -0
- package/mobile/lib/react/setup-fixture.js.map +1 -1
- package/mobile/lib/ui-kit/BenefitItem/BenefitItem.js +2 -2
- package/mobile/lib/ui-kit/BenefitItem/BenefitItem.js.map +1 -1
- package/mobile/lib/ui-kit/Button/LikeButton.js +1 -1
- package/mobile/lib/ui-kit/Button/LikeButton.js.map +1 -1
- package/mobile/lib/ui-kit/SearchBar/SearchBarInner.js +1 -1
- package/mobile/lib/ui-kit/SearchBar/SearchBarInner.js.map +1 -1
- package/mobile/lib/wlc.json +5 -0
- package/mobile/src/ProjectSettings.ts +4 -0
- package/mobile/src/components/Bonus/Bonus.tsx +1 -1
- package/mobile/src/components/Calculator/Calculator.tsx +1 -1
- package/mobile/src/components/ErrorBlock/ErrorBlock.example.json +5 -5
- package/mobile/src/components/ErrorBlock/ErrorBlock.tsx +12 -5
- package/mobile/src/components/ErrorBlock/ErrorBlockContent.ts +20 -6
- package/mobile/src/components/InsuranceAmountBlock/InsuranceAmountBlockInner.tsx +2 -2
- package/mobile/src/components/Navigation/Navigation.tsx +1 -1
- package/mobile/src/components/OfficeServicesBlock/OfficeServicesBlock.example.json +30 -16
- package/mobile/src/components/OfficeServicesBlock/OfficeServicesBlock.tsx +7 -6
- package/mobile/src/components/OfficeServicesBlock/OfficeServicesBlockContent.ts +2 -1
- package/mobile/src/components/SafeDepositRental/RegionsAndBranches.tsx +2 -2
- package/mobile/src/components/SafeDepositRental/SafeBoxCases.tsx +1 -1
- package/mobile/src/components/SafeDepositRental/SafeDepositRental.tsx +33 -9
- package/mobile/src/components/SafeDepositRental/SafeDepositRentalContent.ts +2 -21
- package/mobile/src/components/SafeDepositRental/SafeDepositRentalFields.tsx +77 -0
- package/mobile/src/components/SafeDepositRental/SafeDepositRentalForm.tsx +57 -74
- package/mobile/src/components/SafeDepositRental/SafeDepositRentalTotal.tsx +1 -1
- package/mobile/src/components/SafeDepositRental/SafeDepositRentalTypes.ts +12 -0
- package/mobile/src/components/SafeDepositRental/WrapperSelect.tsx +2 -10
- package/mobile/src/components/SafeDepositRental/YandexMap.tsx +35 -0
- package/mobile/src/components/SafeDepositRental/renderClusterer.ts +45 -0
- package/mobile/src/components/SafeDepositRental/useGetRegions.ts +1 -1
- package/mobile/src/components/SafeDepositRental/utils.ts +17 -0
- package/mobile/src/components/__snapshots__/Blocks.spec.tsx.snap +231 -239
- package/mobile/src/hooks/useFetchSafeBoxes.ts +44 -0
- package/mobile/src/hooks/useScript.ts +97 -0
- package/mobile/src/icons/IconName.ts +4 -4
- package/mobile/src/icons/MapMarkerClusterIcon.svg +1 -0
- package/mobile/src/icons/MapMarkerSingleIcon.svg +1 -0
- package/mobile/src/react/setup-fixture.ts +4 -0
- package/mobile/src/ui-kit/BenefitItem/BenefitItem.tsx +2 -2
- package/mobile/src/ui-kit/Button/LikeButton.tsx +1 -1
- package/mobile/src/ui-kit/SearchBar/SearchBarInner.tsx +1 -1
- package/mobile/src/wlc.json +5 -0
- package/package.json +3 -2
- package/src/ProjectSettings.ts +4 -0
- package/src/components/Bonus/Bonus.tsx +1 -1
- package/src/components/Calculator/Calculator.tsx +1 -1
- package/src/components/ErrorBlock/ErrorBlock.example.json +5 -5
- package/src/components/ErrorBlock/ErrorBlock.fixture.tsx +3 -3
- package/src/components/ErrorBlock/ErrorBlock.tsx +12 -5
- package/src/components/ErrorBlock/ErrorBlockContent.ts +20 -6
- package/src/components/InsuranceAmountBlock/InsuranceAmountBlockInner.tsx +2 -2
- package/src/components/Navigation/Navigation.tsx +1 -1
- package/src/components/OfficeServicesBlock/OfficeServicesBlock.example.json +30 -16
- package/src/components/OfficeServicesBlock/OfficeServicesBlock.fixture.tsx +7 -7
- package/src/components/OfficeServicesBlock/OfficeServicesBlock.tsx +7 -6
- package/src/components/OfficeServicesBlock/OfficeServicesBlockContent.ts +2 -1
- package/src/components/SafeDepositRental/RegionsAndBranches.tsx +2 -2
- package/src/components/SafeDepositRental/SafeBoxCases.tsx +1 -1
- package/src/components/SafeDepositRental/SafeDepositRental.fixture.tsx +6 -1
- package/src/components/SafeDepositRental/SafeDepositRental.tsx +33 -9
- package/src/components/SafeDepositRental/SafeDepositRentalContent.ts +2 -21
- package/src/components/SafeDepositRental/SafeDepositRentalFields.tsx +77 -0
- package/src/components/SafeDepositRental/SafeDepositRentalForm.tsx +57 -74
- package/src/components/SafeDepositRental/SafeDepositRentalTotal.tsx +1 -1
- package/src/components/SafeDepositRental/SafeDepositRentalTypes.ts +12 -0
- package/src/components/SafeDepositRental/WrapperSelect.tsx +2 -10
- package/src/components/SafeDepositRental/YandexMap.tsx +35 -0
- package/src/components/SafeDepositRental/renderClusterer.ts +45 -0
- package/src/components/SafeDepositRental/useGetRegions.ts +1 -1
- package/src/components/SafeDepositRental/utils.ts +17 -0
- package/src/components/__snapshots__/Blocks.spec.tsx.snap +231 -239
- package/src/hooks/useFetchSafeBoxes.ts +44 -0
- package/src/hooks/useScript.ts +97 -0
- package/src/icons/IconName.ts +7 -1
- package/src/icons/MapMarkerClusterIcon.svg +1 -0
- package/src/icons/MapMarkerSingleIcon.svg +1 -0
- package/src/react/setup-fixture.ts +4 -0
- package/src/ui-kit/BenefitItem/BenefitItem.tsx +2 -2
- package/src/ui-kit/Button/LikeButton.tsx +1 -1
- package/src/ui-kit/SearchBar/SearchBarInner.tsx +1 -1
- package/src/wlc.json +5 -0
- package/dist/components/SafeDepositRental/fetchBranches.d.ts +0 -2
- package/dist/components/SafeDepositRental/fetchBranches.js +0 -20
- package/dist/components/SafeDepositRental/fetchBranches.js.map +0 -1
- package/lib/components/SafeDepositRental/fetchBranches.d.ts +0 -2
- package/lib/components/SafeDepositRental/fetchBranches.js +0 -17
- package/lib/components/SafeDepositRental/fetchBranches.js.map +0 -1
- package/mobile/dist/components/SafeDepositRental/fetchBranches.d.ts +0 -2
- package/mobile/dist/components/SafeDepositRental/fetchBranches.js +0 -20
- package/mobile/dist/components/SafeDepositRental/fetchBranches.js.map +0 -1
- package/mobile/lib/components/SafeDepositRental/fetchBranches.d.ts +0 -2
- package/mobile/lib/components/SafeDepositRental/fetchBranches.js +0 -17
- package/mobile/lib/components/SafeDepositRental/fetchBranches.js.map +0 -1
- package/mobile/src/components/SafeDepositRental/fetchBranches.ts +0 -21
- package/src/components/SafeDepositRental/fetchBranches.ts +0 -21
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
-
import type { Branch } from '
|
|
3
|
-
import { Region } from './useGetRegions';
|
|
2
|
+
import type { Branch } from '../../hooks/useFetchSafeBoxes';
|
|
3
|
+
import type { Region } from './useGetRegions';
|
|
4
4
|
import { WrapperSelect } from './WrapperSelect';
|
|
5
5
|
|
|
6
6
|
interface RegionsAndBranchesProps {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
-
import type { SafeBoxCase, SafeBoxCaseVolume } from '
|
|
2
|
+
import type { SafeBoxCase, SafeBoxCaseVolume } from '../../hooks/useFetchSafeBoxes';
|
|
3
3
|
import { WrapperSelect } from './WrapperSelect';
|
|
4
4
|
|
|
5
5
|
interface SafeBoxCasesProps {
|
|
@@ -4,7 +4,12 @@ import { SafeDepositRental } from './SafeDepositRental';
|
|
|
4
4
|
export default {
|
|
5
5
|
default: (
|
|
6
6
|
<div className="container grid grid-cols-12 mb-1">
|
|
7
|
-
<SafeDepositRental
|
|
7
|
+
<SafeDepositRental
|
|
8
|
+
className="col-span-12"
|
|
9
|
+
context={context}
|
|
10
|
+
footnote="Аренда СЯ, в случае проведения процедуры купли-продажи, с использованием наличных денег
|
|
11
|
+
или процедуры ипотечной сделки"
|
|
12
|
+
/>
|
|
8
13
|
</div>
|
|
9
14
|
),
|
|
10
15
|
};
|
|
@@ -1,27 +1,51 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
+
import { useState } from '@redneckz/uni-jsx/lib/hooks';
|
|
3
|
+
import { useScript } from '../../hooks/useScript';
|
|
4
|
+
import { projectSettings } from '../../ProjectSettings';
|
|
2
5
|
import type { UniBlockProps } from '../../types';
|
|
3
6
|
import { BlockWrapper } from '../../ui-kit/BlockWrapper';
|
|
4
7
|
import { Heading } from '../../ui-kit/Heading/Heading';
|
|
5
8
|
import type { SafeDepositRentalContent } from './SafeDepositRentalContent';
|
|
6
9
|
import { SafeDepositRentalForm } from './SafeDepositRentalForm';
|
|
7
10
|
import { useGetRegions } from './useGetRegions';
|
|
11
|
+
import { YandexMap } from './YandexMap';
|
|
8
12
|
|
|
9
13
|
export interface SafeDepositRentalProps extends SafeDepositRentalContent, UniBlockProps {}
|
|
10
14
|
|
|
11
15
|
export const SafeDepositRental = JSX<SafeDepositRentalProps>(
|
|
12
|
-
({ title, context, className = '', ...rest }) => {
|
|
16
|
+
({ title, footnote, context, className = '', ...rest }) => {
|
|
17
|
+
const [points, setPoints] = useState<number[][]>([]);
|
|
18
|
+
const [showMap, setShowMap] = useState<boolean>(false);
|
|
19
|
+
|
|
13
20
|
const regions = useGetRegions();
|
|
14
21
|
|
|
22
|
+
const statusScript = useScript(
|
|
23
|
+
`https://api-maps.yandex.ru/2.1/?apikey=${projectSettings.YANDEX_MAP_API_KEY}&lang=ru_RU`,
|
|
24
|
+
{
|
|
25
|
+
removeOnUnmount: true,
|
|
26
|
+
},
|
|
27
|
+
);
|
|
28
|
+
|
|
29
|
+
const toggleShowMap = () => {
|
|
30
|
+
setShowMap(!showMap);
|
|
31
|
+
};
|
|
32
|
+
|
|
15
33
|
return (
|
|
16
|
-
<BlockWrapper context={context} className={
|
|
17
|
-
|
|
18
|
-
|
|
34
|
+
<BlockWrapper context={context} className={className} {...rest}>
|
|
35
|
+
<div className="bg-white px-8 py-12">
|
|
36
|
+
{title ? (
|
|
37
|
+
<Heading title={title} headingType="h3" as="h2" className="mb-2.5 text-center" />
|
|
38
|
+
) : null}
|
|
39
|
+
<SafeDepositRentalForm
|
|
40
|
+
regions={regions}
|
|
41
|
+
setPoints={setPoints}
|
|
42
|
+
toggleShowMap={toggleShowMap}
|
|
43
|
+
/>
|
|
44
|
+
{footnote ? <p className="text-s-light text-secondary-text">{footnote}</p> : null}
|
|
45
|
+
</div>
|
|
46
|
+
{statusScript === 'ready' && points.length && showMap ? (
|
|
47
|
+
<YandexMap points={points} />
|
|
19
48
|
) : null}
|
|
20
|
-
<SafeDepositRentalForm regions={regions} />
|
|
21
|
-
<p className="text-s-light text-secondary-text">
|
|
22
|
-
Аренда СЯ, в случае проведения процедуры купли-продажи, с использованием наличных денег
|
|
23
|
-
или процедуры ипотечной сделки
|
|
24
|
-
</p>
|
|
25
49
|
</BlockWrapper>
|
|
26
50
|
);
|
|
27
51
|
},
|
|
@@ -1,28 +1,9 @@
|
|
|
1
|
-
export interface Tariff {
|
|
2
|
-
tariffType?: string;
|
|
3
|
-
tariffValue?: number;
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
export interface SafeBoxCase {
|
|
7
|
-
safeBoxCasesSize?: string;
|
|
8
|
-
tariffs?: Tariff[];
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export interface SafeBoxCaseVolume {
|
|
12
|
-
volume?: string;
|
|
13
|
-
safeBoxCases?: SafeBoxCase[];
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export interface Branch {
|
|
17
|
-
branchCode?: string;
|
|
18
|
-
address?: string;
|
|
19
|
-
safeBoxCaseVolumes?: SafeBoxCaseVolume[];
|
|
20
|
-
}
|
|
21
|
-
|
|
22
1
|
/**
|
|
23
2
|
* @title Аренда сейфовых ячеек
|
|
24
3
|
*/
|
|
25
4
|
export interface SafeDepositRentalContent {
|
|
26
5
|
/** @title Заголовок */
|
|
27
6
|
title?: string;
|
|
7
|
+
/** @title Сноска */
|
|
8
|
+
footnote?: string;
|
|
28
9
|
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
+
import type { Branch, SafeBoxCase, SafeBoxCaseVolume } from '../../hooks/useFetchSafeBoxes';
|
|
3
|
+
import { Button } from '../../ui-kit/Button/Button';
|
|
4
|
+
import { RegionsAndBranches } from './RegionsAndBranches';
|
|
5
|
+
import { RenderRadioButtons } from './RenderRadioButtons';
|
|
6
|
+
import { RentalPeriod } from './RentalPeriod';
|
|
7
|
+
import { SafeBoxCases } from './SafeBoxCases';
|
|
8
|
+
import type { SafeDepositRentalFormProps } from './SafeDepositRentalForm';
|
|
9
|
+
import type { HandleChangeState, SafeDepositRentalState } from './SafeDepositRentalTypes';
|
|
10
|
+
import { getBranch, getCoordinates } from './utils';
|
|
11
|
+
|
|
12
|
+
export interface SafeDepositRentalFieldsProps
|
|
13
|
+
extends SafeDepositRentalState,
|
|
14
|
+
SafeDepositRentalFormProps {
|
|
15
|
+
onChange: HandleChangeState;
|
|
16
|
+
safeBoxCases?: SafeBoxCase[];
|
|
17
|
+
caseVolumes?: SafeBoxCaseVolume[];
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export const SafeDepositRentalFields = JSX<SafeDepositRentalFieldsProps>(
|
|
21
|
+
({
|
|
22
|
+
regions,
|
|
23
|
+
selectedRegion,
|
|
24
|
+
branches,
|
|
25
|
+
selectedBranch,
|
|
26
|
+
days,
|
|
27
|
+
selectedCaseVolume,
|
|
28
|
+
selectedBoxSize,
|
|
29
|
+
safeBoxCases,
|
|
30
|
+
caseVolumes,
|
|
31
|
+
setPoints,
|
|
32
|
+
onChange,
|
|
33
|
+
toggleShowMap,
|
|
34
|
+
}) => {
|
|
35
|
+
return (
|
|
36
|
+
<div className="flex-1 mr-9">
|
|
37
|
+
<RegionsAndBranches
|
|
38
|
+
regions={regions}
|
|
39
|
+
selectedRegion={selectedRegion}
|
|
40
|
+
onSelectedRegion={(value) => onChange({ selectedRegion: value })}
|
|
41
|
+
branches={branches}
|
|
42
|
+
selectedBranch={selectedBranch}
|
|
43
|
+
onSelectedBranch={onSelectedBranch(onChange, setPoints, branches)}
|
|
44
|
+
/>
|
|
45
|
+
<RentalPeriod days={days} setDays={(value) => onChange({ days: value })} />
|
|
46
|
+
<SafeBoxCases
|
|
47
|
+
caseVolumes={caseVolumes}
|
|
48
|
+
selectedCaseVolume={selectedCaseVolume}
|
|
49
|
+
onSelectedCaseVolume={onSelectedCaseVolume(onChange)}
|
|
50
|
+
safeBoxCases={safeBoxCases}
|
|
51
|
+
selectedBoxSize={selectedBoxSize}
|
|
52
|
+
onSelectedBoxSize={(value) => onChange({ selectedBoxSize: value })}
|
|
53
|
+
/>
|
|
54
|
+
<span className="text-secondary-text text-l-light">Тип договора</span>
|
|
55
|
+
<div className="flex justify-between items-center mt-5">
|
|
56
|
+
<RenderRadioButtons />
|
|
57
|
+
<Button text="Офисы на карте" version="primary" onClick={toggleShowMap} />
|
|
58
|
+
</div>
|
|
59
|
+
</div>
|
|
60
|
+
);
|
|
61
|
+
},
|
|
62
|
+
);
|
|
63
|
+
|
|
64
|
+
const onSelectedBranch =
|
|
65
|
+
(
|
|
66
|
+
onChange: HandleChangeState,
|
|
67
|
+
setPoints: SafeDepositRentalFieldsProps['setPoints'],
|
|
68
|
+
branches: Branch[],
|
|
69
|
+
) =>
|
|
70
|
+
(value: string) => {
|
|
71
|
+
onChange({ selectedBranch: value, selectedCaseVolume: '', selectedBoxSize: '' });
|
|
72
|
+
setPoints(getCoordinates(value ? getBranch(branches, value) : branches));
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
const onSelectedCaseVolume = (onChange: HandleChangeState) => (value: string) => {
|
|
76
|
+
onChange({ selectedCaseVolume: value, selectedBoxSize: '' });
|
|
77
|
+
};
|
|
@@ -1,101 +1,84 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
2
|
import { useEffect, useState } from '@redneckz/uni-jsx/lib/hooks/core';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { RegionsAndBranches } from './RegionsAndBranches';
|
|
6
|
-
import { RenderRadioButtons } from './RenderRadioButtons';
|
|
7
|
-
import { RentalPeriod } from './RentalPeriod';
|
|
8
|
-
import { SafeBoxCases } from './SafeBoxCases';
|
|
9
|
-
import { Branch, SafeBoxCase, SafeBoxCaseVolume } from './SafeDepositRentalContent';
|
|
3
|
+
import { SafeBoxCase, SafeBoxCaseVolume, useFetchSafeBoxes } from '../../hooks/useFetchSafeBoxes';
|
|
4
|
+
import { SafeDepositRentalFields } from './SafeDepositRentalFields';
|
|
10
5
|
import { SafeDepositRentalTotal } from './SafeDepositRentalTotal';
|
|
6
|
+
import type { HandleChangeState, SafeDepositRentalState } from './SafeDepositRentalTypes';
|
|
11
7
|
import type { Region } from './useGetRegions';
|
|
8
|
+
import { getBranch, getCoordinates } from './utils';
|
|
9
|
+
|
|
10
|
+
const DEFAULT_DAYS = 26;
|
|
12
11
|
|
|
13
12
|
export interface SafeDepositRentalFormProps {
|
|
14
13
|
regions?: Region[];
|
|
14
|
+
setPoints: (points: number[][]) => void;
|
|
15
|
+
toggleShowMap: () => void;
|
|
15
16
|
}
|
|
16
17
|
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
18
|
+
export const SafeDepositRentalForm = JSX<SafeDepositRentalFormProps>((props) => {
|
|
19
|
+
const [safeDepositState, setStateDepositState] = useState<SafeDepositRentalState>({
|
|
20
|
+
selectedRegion: '',
|
|
21
|
+
selectedBranch: '',
|
|
22
|
+
selectedCaseVolume: '',
|
|
23
|
+
selectedBoxSize: '',
|
|
24
|
+
days: DEFAULT_DAYS,
|
|
25
|
+
branches: [],
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
const resultBranches = useFetchSafeBoxes(safeDepositState.selectedRegion);
|
|
29
|
+
|
|
30
|
+
const handleChangeSafeDepositState: HandleChangeState = (state) =>
|
|
31
|
+
setStateDepositState((oldState) => ({ ...oldState, ...state }));
|
|
32
|
+
|
|
33
|
+
useEffect(
|
|
34
|
+
() =>
|
|
35
|
+
handleChangeSafeDepositState({
|
|
36
|
+
selectedRegion: getInitialValueSelectedRegion(props.regions),
|
|
37
|
+
}),
|
|
38
|
+
[props.regions],
|
|
39
|
+
);
|
|
30
40
|
|
|
31
41
|
useEffect(() => {
|
|
32
|
-
if (
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
});
|
|
36
|
-
} else {
|
|
37
|
-
setBranches([]);
|
|
42
|
+
if (Array.isArray(resultBranches) && resultBranches.length) {
|
|
43
|
+
handleChangeSafeDepositState({ branches: resultBranches });
|
|
44
|
+
props.setPoints(getCoordinates(resultBranches));
|
|
38
45
|
}
|
|
46
|
+
}, [resultBranches]);
|
|
39
47
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
const onSelectedCaseVolume = (value: string) => {
|
|
52
|
-
setSelectedCaseVolume(value);
|
|
53
|
-
setSelectedBoxSize('');
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
const branch = getBranch(branches, selectedBranch);
|
|
48
|
+
useEffect(() => {
|
|
49
|
+
handleChangeSafeDepositState({
|
|
50
|
+
selectedBranch: '',
|
|
51
|
+
selectedCaseVolume: '',
|
|
52
|
+
selectedBoxSize: '',
|
|
53
|
+
});
|
|
54
|
+
}, [safeDepositState.selectedRegion]);
|
|
55
|
+
|
|
56
|
+
const branch = getBranch(safeDepositState.branches, safeDepositState.selectedBranch);
|
|
57
57
|
const caseVolumes = getCaseVolumes(branch?.safeBoxCaseVolumes);
|
|
58
58
|
|
|
59
|
-
const safeBoxCases = getCaseVolume(
|
|
59
|
+
const safeBoxCases = getCaseVolume(
|
|
60
|
+
branch?.safeBoxCaseVolumes,
|
|
61
|
+
safeDepositState.selectedCaseVolume,
|
|
62
|
+
)?.safeBoxCases;
|
|
60
63
|
|
|
61
|
-
const tariffs = getTariffs(safeBoxCases, selectedBoxSize);
|
|
64
|
+
const tariffs = getTariffs(safeBoxCases, safeDepositState.selectedBoxSize);
|
|
62
65
|
|
|
63
66
|
return (
|
|
64
67
|
<div className="flex justify-between align-top mb-6">
|
|
65
|
-
<
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
/>
|
|
74
|
-
<RentalPeriod days={days} setDays={setDays} />
|
|
75
|
-
<SafeBoxCases
|
|
76
|
-
caseVolumes={caseVolumes}
|
|
77
|
-
selectedCaseVolume={selectedCaseVolume}
|
|
78
|
-
onSelectedCaseVolume={onSelectedCaseVolume}
|
|
79
|
-
safeBoxCases={safeBoxCases}
|
|
80
|
-
selectedBoxSize={selectedBoxSize}
|
|
81
|
-
onSelectedBoxSize={setSelectedBoxSize}
|
|
82
|
-
/>
|
|
83
|
-
<span className="text-secondary-text text-l-light">Тип договора</span>
|
|
84
|
-
<div className="flex justify-between items-center mt-5">
|
|
85
|
-
<RenderRadioButtons />
|
|
86
|
-
<Button text="Офисы на карте" version="primary" />
|
|
87
|
-
</div>
|
|
88
|
-
</div>
|
|
89
|
-
<SafeDepositRentalTotal days={days} tariffs={tariffs} />
|
|
68
|
+
<SafeDepositRentalFields
|
|
69
|
+
{...safeDepositState}
|
|
70
|
+
{...props}
|
|
71
|
+
caseVolumes={caseVolumes}
|
|
72
|
+
safeBoxCases={safeBoxCases}
|
|
73
|
+
onChange={handleChangeSafeDepositState}
|
|
74
|
+
/>
|
|
75
|
+
<SafeDepositRentalTotal days={safeDepositState.days} tariffs={tariffs} />
|
|
90
76
|
</div>
|
|
91
77
|
);
|
|
92
78
|
});
|
|
93
79
|
|
|
94
80
|
const getInitialValueSelectedRegion = (regions?: Region[]) =>
|
|
95
|
-
regions?.
|
|
96
|
-
|
|
97
|
-
const getBranch = (branches: Branch[], selectedBranch: string) =>
|
|
98
|
-
branches.find((_) => _.branchCode === selectedBranch);
|
|
81
|
+
regions?.length && regions[0]?.code ? regions[0].code : '';
|
|
99
82
|
|
|
100
83
|
const getCaseVolumes = (safeBoxCaseVolumes?: SafeBoxCaseVolume[]) =>
|
|
101
84
|
safeBoxCaseVolumes?.length ? safeBoxCaseVolumes?.filter((_) => _?.safeBoxCases?.length) : [];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
+
import type { Tariff } from '../../hooks/useFetchSafeBoxes';
|
|
2
3
|
import { Img } from '../../ui-kit/Img/Img';
|
|
3
|
-
import { Tariff } from './SafeDepositRentalContent';
|
|
4
4
|
|
|
5
5
|
export interface SafeDepositRentalTotalProps {
|
|
6
6
|
days: number;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Branch } from '../../hooks/useFetchSafeBoxes';
|
|
2
|
+
|
|
3
|
+
export interface SafeDepositRentalState {
|
|
4
|
+
selectedRegion: string;
|
|
5
|
+
selectedBranch: string;
|
|
6
|
+
selectedCaseVolume: string;
|
|
7
|
+
selectedBoxSize: string;
|
|
8
|
+
days: number;
|
|
9
|
+
branches: Branch[];
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export type HandleChangeState = (state: Partial<SafeDepositRentalState>) => void;
|
|
@@ -13,15 +13,7 @@ interface WrapperSelectProps {
|
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
export const WrapperSelect = JSX<WrapperSelectProps>(
|
|
16
|
-
({
|
|
17
|
-
data,
|
|
18
|
-
fieldLabel,
|
|
19
|
-
fieldValue,
|
|
20
|
-
selected,
|
|
21
|
-
placeholder = 'Выберите значение',
|
|
22
|
-
setSelected,
|
|
23
|
-
label,
|
|
24
|
-
}) => {
|
|
16
|
+
({ data, fieldLabel, fieldValue, selected, placeholder, setSelected, label }) => {
|
|
25
17
|
return (
|
|
26
18
|
<div>
|
|
27
19
|
<span className="block text-m-light mb-2">{label}</span>
|
|
@@ -32,7 +24,7 @@ export const WrapperSelect = JSX<WrapperSelectProps>(
|
|
|
32
24
|
value={selected}
|
|
33
25
|
onChange={(_) => setSelected(_)}
|
|
34
26
|
>
|
|
35
|
-
<SelectOption value="">{placeholder}</SelectOption>
|
|
27
|
+
{placeholder ? <SelectOption value="">{placeholder}</SelectOption> : null}
|
|
36
28
|
{data.map((_, i) => (
|
|
37
29
|
<SelectOption key={String(i)} value={_?.[fieldValue || fieldLabel]}>
|
|
38
30
|
{_?.[fieldLabel]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
+
import { useEffect } from '@redneckz/uni-jsx/lib/hooks';
|
|
3
|
+
import { Heading } from '../../ui-kit/Heading/Heading';
|
|
4
|
+
import { renderClusterer } from './renderClusterer';
|
|
5
|
+
|
|
6
|
+
declare let ymaps: any;
|
|
7
|
+
|
|
8
|
+
interface YandexMapProps {
|
|
9
|
+
points: number[][];
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
let Map = null;
|
|
13
|
+
|
|
14
|
+
export const YandexMap = JSX<YandexMapProps>(({ points }) => {
|
|
15
|
+
useEffect(() => {
|
|
16
|
+
ymaps.ready(() => {
|
|
17
|
+
Map = new ymaps.Map('map', {
|
|
18
|
+
center: points[0],
|
|
19
|
+
zoom: 10,
|
|
20
|
+
});
|
|
21
|
+
renderClusterer(Map, points);
|
|
22
|
+
});
|
|
23
|
+
}, []);
|
|
24
|
+
|
|
25
|
+
if (Map && points) {
|
|
26
|
+
renderClusterer(Map, points);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
return (
|
|
30
|
+
<div className="pt-12 mt-1 bg-white">
|
|
31
|
+
<Heading title="Офисы на карте" headingType="h3" className="mb-8 text-center" />
|
|
32
|
+
<div id="map" className="h-[640px]" />
|
|
33
|
+
</div>
|
|
34
|
+
);
|
|
35
|
+
});
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
declare let ymaps: any;
|
|
2
|
+
|
|
3
|
+
export function renderClusterer(Map, points) {
|
|
4
|
+
Map.geoObjects.removeAll();
|
|
5
|
+
|
|
6
|
+
const pointsList = points;
|
|
7
|
+
|
|
8
|
+
const clusterIconContentLayout = ymaps.templateLayoutFactory.createClass(
|
|
9
|
+
'<div style="margin-top: -3px;">{{properties.geoObjects.length}}</div>',
|
|
10
|
+
);
|
|
11
|
+
|
|
12
|
+
const clusterer = new ymaps.Clusterer({
|
|
13
|
+
clusterIcons: [
|
|
14
|
+
{
|
|
15
|
+
href: 'icons/MapMarkerClusterIcon.svg',
|
|
16
|
+
size: [78, 84],
|
|
17
|
+
offset: [-35, -50],
|
|
18
|
+
},
|
|
19
|
+
],
|
|
20
|
+
clusterIconContentLayout,
|
|
21
|
+
clusterHideIconOnBalloonOpen: false,
|
|
22
|
+
geoObjectHideIconOnBalloonOpen: false,
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
const geoObjects: any = [];
|
|
26
|
+
|
|
27
|
+
for (let i = 0, len = pointsList.length; i < len; i++) {
|
|
28
|
+
geoObjects[i] = new ymaps.Placemark(pointsList[i], null, {
|
|
29
|
+
iconLayout: 'default#image',
|
|
30
|
+
iconImageHref: 'icons/MapMarkerSingleIcon.svg',
|
|
31
|
+
iconImageSize: [78, 84],
|
|
32
|
+
iconImageOffset: [-35, -50],
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
clusterer.add(geoObjects);
|
|
37
|
+
|
|
38
|
+
Map.geoObjects.add(clusterer);
|
|
39
|
+
|
|
40
|
+
Map.setBounds(ymaps.util.bounds.fromPoints(pointsList)).then(() => {
|
|
41
|
+
if (Map.getZoom() > 10) {
|
|
42
|
+
Map.setZoom(10);
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useAsyncData } from '@redneckz/uni-jsx/lib/hooks/useAsyncData';
|
|
2
2
|
import { fetchJSONUnsafe } from '../../utils/fetchJSON';
|
|
3
3
|
|
|
4
|
-
const REGIONS_URL = '/api/v1/
|
|
4
|
+
const REGIONS_URL = '/api/v1/regions';
|
|
5
5
|
|
|
6
6
|
export interface Region {
|
|
7
7
|
id?: number;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Branch } from '../../hooks/useFetchSafeBoxes';
|
|
2
|
+
|
|
3
|
+
export const getCoordinates = (data?: Branch | Branch[]): number[][] => {
|
|
4
|
+
if (Array.isArray(data)) {
|
|
5
|
+
return data.map((_) =>
|
|
6
|
+
_.gpsLatitude && _.gpsLongitude ? [_.gpsLatitude, _.gpsLongitude] : [],
|
|
7
|
+
);
|
|
8
|
+
}
|
|
9
|
+
if (data?.gpsLatitude && data?.gpsLongitude) {
|
|
10
|
+
return [[data.gpsLatitude, data.gpsLongitude]];
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
return [];
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export const getBranch = (branches: Branch[], selectedBranch: string) =>
|
|
17
|
+
branches.find((_) => _.branchCode === selectedBranch);
|