@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
package/bundle/bundle.umd.js
CHANGED
|
@@ -81,6 +81,9 @@
|
|
|
81
81
|
get CDN() {
|
|
82
82
|
return this._.CDN;
|
|
83
83
|
}
|
|
84
|
+
get YANDEX_MAP_API_KEY() {
|
|
85
|
+
return this._.YANDEX_MAP_API_KEY;
|
|
86
|
+
}
|
|
84
87
|
})();
|
|
85
88
|
|
|
86
89
|
const AUTH_PREFIX = 'guest';
|
|
@@ -342,6 +345,8 @@
|
|
|
342
345
|
IconMap["JCBIcon"] = "JCBIcon";
|
|
343
346
|
IconMap["LogoIcon"] = "LogoIcon";
|
|
344
347
|
IconMap["LoupeIcon"] = "LoupeIcon";
|
|
348
|
+
IconMap["MapMarkerClusterIcon"] = "MapMarkerClusterIcon";
|
|
349
|
+
IconMap["MapMarkerSingleIcon"] = "MapMarkerSingleIcon";
|
|
345
350
|
IconMap["MasterCardIcon"] = "MasterCardIcon";
|
|
346
351
|
IconMap["MinusIcon"] = "MinusIcon";
|
|
347
352
|
IconMap["MirIcon"] = "MirIcon";
|
|
@@ -428,6 +433,8 @@
|
|
|
428
433
|
IconTitleMap["JCBIcon"] = "JCB";
|
|
429
434
|
IconTitleMap["LogoIcon"] = "Logo";
|
|
430
435
|
IconTitleMap["LoupeIcon"] = "\u041B\u0443\u043F\u0430";
|
|
436
|
+
IconTitleMap["MapMarkerClusterIcon"] = "\u041C\u0430\u0440\u043A\u0435\u0440 \u043A\u0430\u0440\u0442\u044B";
|
|
437
|
+
IconTitleMap["MapMarkerSingleIcon"] = "\u041C\u0430\u0440\u043A\u0435\u0440 \u043A\u0430\u0440\u0442\u044B \u0420\u0421\u0425\u0411";
|
|
431
438
|
IconTitleMap["MasterCardIcon"] = "MasterCard";
|
|
432
439
|
IconTitleMap["MinusIcon"] = "\u041C\u0438\u043D\u0443\u0441";
|
|
433
440
|
IconTitleMap["MirIcon"] = "\u041C\u0418\u0420";
|
|
@@ -650,7 +657,7 @@
|
|
|
650
657
|
const { className = '', icon, label, description, version = 'primary', benefitsVersion = 'normal', } = props;
|
|
651
658
|
const isIconWhite = benefitsVersion === 'white' || version === 'secondary';
|
|
652
659
|
const listItemAlign = description ? 'items-start' : 'items-center';
|
|
653
|
-
return (jsxs("div", { className: `flex gap-5 ${listItemAlign} ${className}`, children: [icon ? (jsx("div", { className: renderBenefitIconBgStyle(version, benefitsVersion), children: jsx(Img, { className: "w-
|
|
660
|
+
return (jsxs("div", { className: `flex gap-5 ${listItemAlign} ${className}`, children: [icon ? (jsx("div", { className: renderBenefitIconBgStyle(version, benefitsVersion), children: jsx(Img, { className: "w-6 h-6", image: { ...icon, iconVersion: isIconWhite ? 'white' : 'normal' }, asSVG: true }) })) : null, jsxs("div", { className: "gap-0.5", children: [label ? jsx("div", { className: `text-h6 ${titleStyleMap[version]}`, children: label }) : null, description ? (jsx("div", { className: `text-m-light ${descStyleMap[version]}`, children: description })) : null] })] }));
|
|
654
661
|
});
|
|
655
662
|
function renderBenefitIconBgStyle(version, benefitsVersion) {
|
|
656
663
|
let bgColorStyle = 'bg-primary-main text-black';
|
|
@@ -660,7 +667,7 @@
|
|
|
660
667
|
else if (benefitsVersion === 'normal') {
|
|
661
668
|
bgColorStyle = 'bg-secondary-light text-primary-main';
|
|
662
669
|
}
|
|
663
|
-
return `w-[50px] h-[50px] min-w-[50px] rounded-full p-
|
|
670
|
+
return `w-[50px] h-[50px] min-w-[50px] rounded-full p-2.5 box-border flex items-center justify-center ${bgColorStyle}`;
|
|
664
671
|
}
|
|
665
672
|
|
|
666
673
|
const addSpacesBetweenNumbers = (number) => new Intl.NumberFormat('ru-RU', { maximumSignificantDigits: 3 }).format(number);
|
|
@@ -1217,7 +1224,7 @@
|
|
|
1217
1224
|
const { context, className = '', title, description, bonusItems, ...rest } = props;
|
|
1218
1225
|
return (jsx(BlockWrapper, { className: `font-sans bg-white p-[50px] pb-9 ${className}`, context: context, ...rest, children: jsxs("div", { className: "container", children: [jsx(Headline, { context: context, className: "!p-0", title: title, description: description, headlineVersion: "M", align: "center" }), jsx("div", { className: "flex flex-wrap w-full mt-9", children: bonusItems
|
|
1219
1226
|
? bonusItems.map((_, i) => {
|
|
1220
|
-
return (jsx("div", { className: "flex-grow w-[49%] border border-gray pl-9 pt-9 pr-6 pb-6 mb-[14px] mx-[7px] even:mr-0 odd:ml-0 last:odd:mx-0", children: jsxs("div", { className: "flex justify-between w-full", children: [jsxs("div", { className: "mr-4", children: [jsx("div", { className: "text-h4", children: _.title }), jsx("div", { className: "text-xl-light mt-[14px] max-w-[488px]", children: _.description })] }), _.bonusCount ? (jsxs("div", { className: "relative -bottom-3 h-auto flex items-end mt-14 shrink-0", children: [jsx("span", { className: "font-mohave -tracking-[5px] text-title-extra bg-clip-text text-transparent bg-green-to-yellow -mb-7", children: _.bonusCount }), jsx("span", { className: "text-
|
|
1227
|
+
return (jsx("div", { className: "flex-grow w-[49%] border border-gray pl-9 pt-9 pr-6 pb-6 mb-[14px] mx-[7px] even:mr-0 odd:ml-0 last:odd:mx-0", children: jsxs("div", { className: "flex justify-between w-full", children: [jsxs("div", { className: "mr-4", children: [jsx("div", { className: "text-h4", children: _.title }), jsx("div", { className: "text-xl-light mt-[14px] max-w-[488px]", children: _.description })] }), _.bonusCount ? (jsxs("div", { className: "relative -bottom-3 h-auto flex items-end mt-14 shrink-0", children: [jsx("span", { className: "font-mohave -tracking-[5px] text-title-extra bg-clip-text text-transparent bg-green-to-yellow -mb-7", children: _.bonusCount }), jsx("span", { className: "text-h2 bg-clip-text text-transparent bg-green-to-yellow", children: _.bonusName })] })) : null] }) }, String(i)));
|
|
1221
1228
|
})
|
|
1222
1229
|
: null })] }) }));
|
|
1223
1230
|
});
|
|
@@ -1341,14 +1348,22 @@
|
|
|
1341
1348
|
};
|
|
1342
1349
|
|
|
1343
1350
|
const consistentDataMap = new Map();
|
|
1344
|
-
function useAsyncData$1(key, fetcher) {
|
|
1351
|
+
function useAsyncData$1(key, fetcher, { fallback } = {}) {
|
|
1345
1352
|
const args = useMemo(() => keyToArgs(key), [key]);
|
|
1346
1353
|
const [data, setData] = useState();
|
|
1347
1354
|
const [error, setError] = useState();
|
|
1355
|
+
const updateData = (_) => {
|
|
1356
|
+
setData(_);
|
|
1357
|
+
setError(undefined);
|
|
1358
|
+
};
|
|
1359
|
+
const updateError = (_) => {
|
|
1360
|
+
setData(undefined);
|
|
1361
|
+
setError(_);
|
|
1362
|
+
};
|
|
1348
1363
|
const chainToConsistentResult = (_) => {
|
|
1349
|
-
_.then(
|
|
1350
|
-
.then(
|
|
1351
|
-
.catch(
|
|
1364
|
+
_.then(rawData => consistentDataMap.get(args) || rawData)
|
|
1365
|
+
.then(updateData)
|
|
1366
|
+
.catch(updateError);
|
|
1352
1367
|
};
|
|
1353
1368
|
useEffect(() => {
|
|
1354
1369
|
const isEmptyKey = args.every(_ => _ === null);
|
|
@@ -1361,15 +1376,17 @@
|
|
|
1361
1376
|
chainToConsistentResult(_);
|
|
1362
1377
|
}
|
|
1363
1378
|
else {
|
|
1364
|
-
|
|
1379
|
+
updateData(_);
|
|
1365
1380
|
}
|
|
1366
1381
|
}
|
|
1367
1382
|
catch (err) {
|
|
1368
|
-
|
|
1383
|
+
updateError(err);
|
|
1369
1384
|
}
|
|
1370
1385
|
}, [fetcher, ...args]);
|
|
1386
|
+
const simpleKey = args[0];
|
|
1387
|
+
const fallbackData = fallback && typeof simpleKey === 'string' && fallback[simpleKey];
|
|
1371
1388
|
return {
|
|
1372
|
-
data,
|
|
1389
|
+
data: !data && !error && fallbackData ? fallbackData : data,
|
|
1373
1390
|
error,
|
|
1374
1391
|
mutate: () => Promise.resolve(undefined),
|
|
1375
1392
|
isValidating: false
|
|
@@ -1391,7 +1408,7 @@
|
|
|
1391
1408
|
}
|
|
1392
1409
|
|
|
1393
1410
|
let impl = useAsyncData$1;
|
|
1394
|
-
const useAsyncData = (
|
|
1411
|
+
const useAsyncData = (...args) => impl(...args);
|
|
1395
1412
|
|
|
1396
1413
|
async function fetchJSON(url, options) {
|
|
1397
1414
|
try {
|
|
@@ -1681,7 +1698,7 @@
|
|
|
1681
1698
|
: `text-m-light text-secondary-text`;
|
|
1682
1699
|
const iconClassName = isActiveBtn ? '' : `text-primary-main`;
|
|
1683
1700
|
return (jsxs("button", { type: "button", onClick: onClick, "aria-label": tab?.title, className: `box-border relative border border-main-stroke cursor-pointer text-left border-b-0 flex hover:h-[88px]
|
|
1684
|
-
${btnClassName}`, children: [jsx(Img, { className: `h-
|
|
1701
|
+
${btnClassName}`, children: [jsx(Img, { className: `h-6 w-6 min-w-6 min-h-6 mr-4 ${iconClassName}`, image: { ...tab?.icon, iconVersion: isActiveBtn ? 'white' : 'normal' }, width: "24", height: "24", asSVG: true }), jsxs("div", { className: "border-0", children: [jsx("div", { className: `${btnTitleClassName}`, children: tab?.title }), jsx("div", { className: `${btnDescClassName}`, children: tab.description })] })] }, String(i)));
|
|
1685
1702
|
}
|
|
1686
1703
|
function renderTabs({ tabsShift, tabsNav, activeSlideIndex, setActiveSlideIndex }) {
|
|
1687
1704
|
return (jsxs("div", { children: [jsx("div", { style: { transform: `translateX(-${tabsShift * 388}px)` }, className: "flex flex-col justify-end items-center h-[126px] pt-9 box-border duration-1000", children: jsx("div", { className: "w-full flex flex-nowrap items-end gap-2", children: tabsNav.map((tab, i) => renderNavButton$2({
|
|
@@ -2110,7 +2127,7 @@
|
|
|
2110
2127
|
|
|
2111
2128
|
const SearchBarInner = JSX(({ className, isMobile = false }) => {
|
|
2112
2129
|
const { term, setTerm } = useSearch();
|
|
2113
|
-
const LoupeIconClassName = isMobile ? 'w-
|
|
2130
|
+
const LoupeIconClassName = isMobile ? 'w-5 h-5' : 'w-6 h-6';
|
|
2114
2131
|
const SearchBarLabelClassName = isMobile ? 'text-s' : 'text-l-light';
|
|
2115
2132
|
const SearchBarInputClassName = isMobile ? ' placeholder-transparent' : 'h-full';
|
|
2116
2133
|
const inputPlaceholder = isMobile ? 'some search' : undefined;
|
|
@@ -2449,13 +2466,13 @@
|
|
|
2449
2466
|
const btnClassName = isActiveBtn
|
|
2450
2467
|
? 'shadow-dark-blue/42 border-primary-main'
|
|
2451
2468
|
: `ease-in duration-300 border-main-stroke`;
|
|
2452
|
-
return (jsxs("button", { type: "button", onClick: onClick, className: `p-[30px] min-w-[460px] flex items-center bg-white border-solid border relative ${btnClassName}`, children: [slide?.icon ? (jsx(Img, { className: "p-
|
|
2469
|
+
return (jsxs("button", { type: "button", onClick: onClick, className: `p-[30px] min-w-[460px] flex items-center bg-white border-solid border relative ${btnClassName}`, children: [slide?.icon ? (jsx(Img, { className: "p-5 rounded-full bg-secondary-light mr-[30px]", image: slide.icon, width: "108", height: "108" })) : null, jsxs("div", { className: "flex gap-3.5", children: [slide?.sum ? renderValueBlock('страховая сумма', slide.sum) : null, slide?.fee ? renderValueBlock('страховой взнос', slide.fee) : null] }), renderDoneIcon(isActiveBtn)] }, String(i)));
|
|
2453
2470
|
}
|
|
2454
2471
|
function renderValueBlock(title, sum) {
|
|
2455
2472
|
return (jsxs("div", { className: "flex flex-col text-left whitespace-pre", children: [jsxs("span", { className: "text-h6", children: [addSpacesBetweenNumbers(sum), " \u20BD"] }), jsx("span", { className: "text-secondary-text text-l mt-1", children: title })] }));
|
|
2456
2473
|
}
|
|
2457
2474
|
function renderDoneIcon(isActive) {
|
|
2458
|
-
return isActive ? (jsx(Img, { className: `h-
|
|
2475
|
+
return isActive ? (jsx(Img, { className: `h-6 w-6 min-w-6 min-h-6 absolute right-4 top-4`, image: "DoneIcon", width: "24", height: "24" })) : null;
|
|
2459
2476
|
}
|
|
2460
2477
|
|
|
2461
2478
|
const InsuranceAmountBlock = JSX(({ className = '', context, title, insuranceTabs = [], button, ...rest }) => {
|
|
@@ -2506,15 +2523,15 @@
|
|
|
2506
2523
|
const router = context.useRouter();
|
|
2507
2524
|
const { handlerDecorator } = context;
|
|
2508
2525
|
const activeButton = findActiveSubItem(router)(buttons);
|
|
2509
|
-
return (jsxs(BlockWrapper, { context: context, className: `font-sans text-primary-text
|
|
2526
|
+
return (jsxs(BlockWrapper, { context: context, className: `font-sans text-primary-text flex items-center justify-between ${className || ''}`, ...rest, children: [jsx("h2", { className: "text-xl font-medium m-0", children: title }), buttons?.length ? (jsx("div", { className: "flex rounded-md overflow-hidden bg-white", children: buttons
|
|
2510
2527
|
.filter(({ text }) => text)
|
|
2511
2528
|
.map((button, i) => (jsx(NavigationItem, { className: "first:rounded-tl-md first:rounded-bl-md last:rounded-tr-md last:rounded-br-md", isActive: button === activeButton, ...useLink({ router, handlerDecorator }, button) }, String(i)))) })) : null] }));
|
|
2512
2529
|
});
|
|
2513
2530
|
|
|
2514
|
-
const OfficeServicesBlock = JSX(({ className = '', context, title, servicesList, anchor = '' }) => {
|
|
2515
|
-
return (jsxs(BlockWrapper, { context: context, id: anchor, className: `font-sans bg-white p-
|
|
2531
|
+
const OfficeServicesBlock = JSX(({ className = '', context, title, servicesList, anchor = '', ...rest }) => {
|
|
2532
|
+
return (jsxs(BlockWrapper, { context: context, id: anchor, className: `font-sans bg-white p-8 flex flex-col ${className}`, ...rest, children: [title ? jsx(Heading, { headingType: "h5", className: "mb-5", title: title }) : null, servicesList?.length ? servicesList.map(renderListItems) : null] }));
|
|
2516
2533
|
});
|
|
2517
|
-
const renderListItems = (itemList, i) => (jsxs("li", { className: "flex mb-
|
|
2534
|
+
const renderListItems = (itemList, i) => (jsxs("li", { className: "flex mb-5 last:mb-0 list-none", children: [itemList.icon ? (jsx(Img, { className: "mr-3 max-w-6 max-h-6", width: "24px", height: "24px", asSVG: true, image: itemList.icon })) : null, itemList.label ? jsx("span", { className: "text-l-light", children: itemList.label }) : null] }, `list_item_${String(i)}`));
|
|
2518
2535
|
|
|
2519
2536
|
const foldableBlockClassNames = 'transition-all duration-300 max-h-0 overflow-hidden';
|
|
2520
2537
|
const useActiveHandler = ({ initialState = false }) => {
|
|
@@ -2680,25 +2697,91 @@
|
|
|
2680
2697
|
}) }));
|
|
2681
2698
|
};
|
|
2682
2699
|
|
|
2683
|
-
const
|
|
2684
|
-
|
|
2685
|
-
|
|
2686
|
-
|
|
2687
|
-
|
|
2688
|
-
|
|
2689
|
-
|
|
2690
|
-
|
|
2691
|
-
|
|
2692
|
-
|
|
2700
|
+
const cachedScriptStatuses = {};
|
|
2701
|
+
function getScriptNode(src) {
|
|
2702
|
+
const node = document.querySelector(`script[src="${src}"]`);
|
|
2703
|
+
const status = node?.getAttribute('data-status');
|
|
2704
|
+
return {
|
|
2705
|
+
node,
|
|
2706
|
+
status,
|
|
2707
|
+
};
|
|
2708
|
+
}
|
|
2709
|
+
function getScriptStatus(type) {
|
|
2710
|
+
return type === 'load' ? 'ready' : 'error';
|
|
2711
|
+
}
|
|
2712
|
+
function getInitialValueStatus(src, options) {
|
|
2713
|
+
if (!src || options?.shouldPreventLoad) {
|
|
2714
|
+
return 'idle';
|
|
2693
2715
|
}
|
|
2694
|
-
|
|
2695
|
-
|
|
2696
|
-
return Promise.reject();
|
|
2716
|
+
if (typeof window === 'undefined') {
|
|
2717
|
+
return 'loading';
|
|
2697
2718
|
}
|
|
2719
|
+
return cachedScriptStatuses[src] ?? 'loading';
|
|
2720
|
+
}
|
|
2721
|
+
function useScript(src, options) {
|
|
2722
|
+
const [status, setStatus] = useState(getInitialValueStatus(src, options));
|
|
2723
|
+
// eslint-disable-next-line complexity
|
|
2724
|
+
useEffect(() => {
|
|
2725
|
+
if (!src || options?.shouldPreventLoad) {
|
|
2726
|
+
return undefined;
|
|
2727
|
+
}
|
|
2728
|
+
const cachedScriptStatus = cachedScriptStatuses[src];
|
|
2729
|
+
if (cachedScriptStatus === 'ready' || cachedScriptStatus === 'error') {
|
|
2730
|
+
setStatus(cachedScriptStatus);
|
|
2731
|
+
return undefined;
|
|
2732
|
+
}
|
|
2733
|
+
const script = getScriptNode(src);
|
|
2734
|
+
let scriptNode = script.node;
|
|
2735
|
+
if (!scriptNode) {
|
|
2736
|
+
scriptNode = document.createElement('script');
|
|
2737
|
+
scriptNode.src = src;
|
|
2738
|
+
scriptNode.async = true;
|
|
2739
|
+
scriptNode.setAttribute('data-status', 'loading');
|
|
2740
|
+
document.body.appendChild(scriptNode);
|
|
2741
|
+
const setAttributeFromEvent = (event) => {
|
|
2742
|
+
const scriptStatus = getScriptStatus(event.type);
|
|
2743
|
+
scriptNode?.setAttribute('data-status', scriptStatus);
|
|
2744
|
+
};
|
|
2745
|
+
scriptNode.addEventListener('load', setAttributeFromEvent);
|
|
2746
|
+
scriptNode.addEventListener('error', setAttributeFromEvent);
|
|
2747
|
+
}
|
|
2748
|
+
else {
|
|
2749
|
+
setStatus(script.status ?? cachedScriptStatus ?? 'loading');
|
|
2750
|
+
}
|
|
2751
|
+
const setStateFromEvent = (event) => {
|
|
2752
|
+
const newStatus = getScriptStatus(event.type);
|
|
2753
|
+
setStatus(newStatus);
|
|
2754
|
+
cachedScriptStatuses[src] = newStatus;
|
|
2755
|
+
};
|
|
2756
|
+
scriptNode.addEventListener('load', setStateFromEvent);
|
|
2757
|
+
scriptNode.addEventListener('error', setStateFromEvent);
|
|
2758
|
+
return () => {
|
|
2759
|
+
if (scriptNode) {
|
|
2760
|
+
scriptNode.removeEventListener('load', setStateFromEvent);
|
|
2761
|
+
scriptNode.removeEventListener('error', setStateFromEvent);
|
|
2762
|
+
}
|
|
2763
|
+
if (scriptNode && options?.removeOnUnmount) {
|
|
2764
|
+
scriptNode.remove();
|
|
2765
|
+
}
|
|
2766
|
+
};
|
|
2767
|
+
}, [src, options?.shouldPreventLoad, options?.removeOnUnmount]);
|
|
2768
|
+
return status;
|
|
2698
2769
|
}
|
|
2699
2770
|
|
|
2700
|
-
const
|
|
2701
|
-
|
|
2771
|
+
const SAFEBOXES_URL = '/api/v1/safeboxes';
|
|
2772
|
+
function useFetchSafeBoxes(regionCode) {
|
|
2773
|
+
const { data } = useAsyncData(regionCode ? `${SAFEBOXES_URL}?regionCode=${regionCode}` : null, fetchSafeBoxes);
|
|
2774
|
+
return data || [];
|
|
2775
|
+
}
|
|
2776
|
+
const fetchSafeBoxes = (url) => {
|
|
2777
|
+
if (!url) {
|
|
2778
|
+
return {};
|
|
2779
|
+
}
|
|
2780
|
+
return fetchJSON(url, { method: 'GET' });
|
|
2781
|
+
};
|
|
2782
|
+
|
|
2783
|
+
const WrapperSelect = JSX(({ data, fieldLabel, fieldValue, selected, placeholder, setSelected, label }) => {
|
|
2784
|
+
return (jsxs("div", { children: [jsx("span", { className: "block text-m-light mb-2", children: label }), jsxs(Select, { className: `h-14 border border-gray p-4 rounded-md text-s w-full cursor-pointer ${!selected ? 'text-secondary-text' : ''}`, value: selected, onChange: (_) => setSelected(_), children: [placeholder ? jsx(SelectOption, { value: "", children: placeholder }) : null, data.map((_, i) => (jsx(SelectOption, { value: _?.[fieldValue || fieldLabel], children: _?.[fieldLabel] }, String(i))))] })] }));
|
|
2702
2785
|
});
|
|
2703
2786
|
|
|
2704
2787
|
const RegionsAndBranches = JSX(({ regions = [], selectedRegion, onSelectedRegion: onSelectedRegion, branches = [], selectedBranch, onSelectedBranch, }) => {
|
|
@@ -2722,6 +2805,28 @@
|
|
|
2722
2805
|
return (jsxs("div", { className: "flex justify-between mb-6", children: [jsx("div", { className: "mr-4 w-full", children: jsx(WrapperSelect, { data: caseVolumes, fieldLabel: "volume", selected: selectedCaseVolume, setSelected: onSelectedCaseVolume, label: "\u0420\u0430\u0437\u043C\u0435\u0440", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0440\u0430\u0437\u043C\u0435\u0440" }) }), jsx("div", { className: "w-full", children: jsx(WrapperSelect, { data: safeBoxCases, fieldLabel: "safeBoxCasesSize", selected: selectedBoxSize, setSelected: onSelectedBoxSize, label: "\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u044F\u0447\u0435\u0439\u043A\u0438, \u043C\u043C (\u0412\u0445\u0428\u0445\u0414)", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u044F\u0447\u0435\u0439\u043A\u0438" }) })] }));
|
|
2723
2806
|
});
|
|
2724
2807
|
|
|
2808
|
+
const getCoordinates = (data) => {
|
|
2809
|
+
if (Array.isArray(data)) {
|
|
2810
|
+
return data.map((_) => _.gpsLatitude && _.gpsLongitude ? [_.gpsLatitude, _.gpsLongitude] : []);
|
|
2811
|
+
}
|
|
2812
|
+
if (data?.gpsLatitude && data?.gpsLongitude) {
|
|
2813
|
+
return [[data.gpsLatitude, data.gpsLongitude]];
|
|
2814
|
+
}
|
|
2815
|
+
return [];
|
|
2816
|
+
};
|
|
2817
|
+
const getBranch = (branches, selectedBranch) => branches.find((_) => _.branchCode === selectedBranch);
|
|
2818
|
+
|
|
2819
|
+
const SafeDepositRentalFields = JSX(({ regions, selectedRegion, branches, selectedBranch, days, selectedCaseVolume, selectedBoxSize, safeBoxCases, caseVolumes, setPoints, onChange, toggleShowMap, }) => {
|
|
2820
|
+
return (jsxs("div", { className: "flex-1 mr-9", children: [jsx(RegionsAndBranches, { regions: regions, selectedRegion: selectedRegion, onSelectedRegion: (value) => onChange({ selectedRegion: value }), branches: branches, selectedBranch: selectedBranch, onSelectedBranch: onSelectedBranch(onChange, setPoints, branches) }), jsx(RentalPeriod, { days: days, setDays: (value) => onChange({ days: value }) }), jsx(SafeBoxCases, { caseVolumes: caseVolumes, selectedCaseVolume: selectedCaseVolume, onSelectedCaseVolume: onSelectedCaseVolume(onChange), safeBoxCases: safeBoxCases, selectedBoxSize: selectedBoxSize, onSelectedBoxSize: (value) => onChange({ selectedBoxSize: value }) }), jsx("span", { className: "text-secondary-text text-l-light", children: "\u0422\u0438\u043F \u0434\u043E\u0433\u043E\u0432\u043E\u0440\u0430" }), jsxs("div", { className: "flex justify-between items-center mt-5", children: [jsx(RenderRadioButtons, {}), jsx(Button, { text: "\u041E\u0444\u0438\u0441\u044B \u043D\u0430 \u043A\u0430\u0440\u0442\u0435", version: "primary", onClick: toggleShowMap })] })] }));
|
|
2821
|
+
});
|
|
2822
|
+
const onSelectedBranch = (onChange, setPoints, branches) => (value) => {
|
|
2823
|
+
onChange({ selectedBranch: value, selectedCaseVolume: '', selectedBoxSize: '' });
|
|
2824
|
+
setPoints(getCoordinates(value ? getBranch(branches, value) : branches));
|
|
2825
|
+
};
|
|
2826
|
+
const onSelectedCaseVolume = (onChange) => (value) => {
|
|
2827
|
+
onChange({ selectedCaseVolume: value, selectedBoxSize: '' });
|
|
2828
|
+
};
|
|
2829
|
+
|
|
2725
2830
|
const SafeDepositRentalTotal = JSX(({ days, tariffs = [] }) => {
|
|
2726
2831
|
const price = calculatePrice(days, tariffs);
|
|
2727
2832
|
return (jsxs("div", { className: "flex flex-col justify-between", children: [jsxs("div", { className: "flex", children: [renderTotal('Аренда за', days, 'mr-11'), renderTotal('Цена', price + ' ₽')] }), jsxs("div", { className: "bg-primary-main px-10 pt-10 pb-4 text-center", children: [jsx(Img, { image: { icon: 'PackA4Icon' }, width: "290", height: "257", asSVG: true }), jsxs("span", { className: "text-s-light text-white opacity-80 mt-2 inline-block", children: ["\u041D\u0430 \u0440\u0438\u0441\u0443\u043D\u043A\u0438 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0430 \u043F\u0430\u0447\u043A\u0430", jsx("br", {}), " \u043B\u0438\u0441\u0442\u043E\u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0430 \u04104"] })] })] }));
|
|
@@ -2751,59 +2856,112 @@
|
|
|
2751
2856
|
};
|
|
2752
2857
|
|
|
2753
2858
|
const DEFAULT_DAYS = 26;
|
|
2754
|
-
const SafeDepositRentalForm = JSX((
|
|
2755
|
-
const [
|
|
2756
|
-
|
|
2757
|
-
|
|
2758
|
-
|
|
2759
|
-
|
|
2760
|
-
|
|
2761
|
-
|
|
2762
|
-
|
|
2763
|
-
|
|
2859
|
+
const SafeDepositRentalForm = JSX((props) => {
|
|
2860
|
+
const [safeDepositState, setStateDepositState] = useState({
|
|
2861
|
+
selectedRegion: '',
|
|
2862
|
+
selectedBranch: '',
|
|
2863
|
+
selectedCaseVolume: '',
|
|
2864
|
+
selectedBoxSize: '',
|
|
2865
|
+
days: DEFAULT_DAYS,
|
|
2866
|
+
branches: [],
|
|
2867
|
+
});
|
|
2868
|
+
const resultBranches = useFetchSafeBoxes(safeDepositState.selectedRegion);
|
|
2869
|
+
const handleChangeSafeDepositState = (state) => setStateDepositState((oldState) => ({ ...oldState, ...state }));
|
|
2870
|
+
useEffect(() => handleChangeSafeDepositState({
|
|
2871
|
+
selectedRegion: getInitialValueSelectedRegion(props.regions),
|
|
2872
|
+
}), [props.regions]);
|
|
2764
2873
|
useEffect(() => {
|
|
2765
|
-
if (
|
|
2766
|
-
|
|
2767
|
-
|
|
2768
|
-
});
|
|
2769
|
-
}
|
|
2770
|
-
else {
|
|
2771
|
-
setBranches([]);
|
|
2874
|
+
if (Array.isArray(resultBranches) && resultBranches.length) {
|
|
2875
|
+
handleChangeSafeDepositState({ branches: resultBranches });
|
|
2876
|
+
props.setPoints(getCoordinates(resultBranches));
|
|
2772
2877
|
}
|
|
2773
|
-
|
|
2774
|
-
|
|
2775
|
-
|
|
2776
|
-
|
|
2777
|
-
|
|
2778
|
-
|
|
2779
|
-
|
|
2780
|
-
|
|
2781
|
-
|
|
2782
|
-
const onSelectedCaseVolume = (value) => {
|
|
2783
|
-
setSelectedCaseVolume(value);
|
|
2784
|
-
setSelectedBoxSize('');
|
|
2785
|
-
};
|
|
2786
|
-
const branch = getBranch(branches, selectedBranch);
|
|
2878
|
+
}, [resultBranches]);
|
|
2879
|
+
useEffect(() => {
|
|
2880
|
+
handleChangeSafeDepositState({
|
|
2881
|
+
selectedBranch: '',
|
|
2882
|
+
selectedCaseVolume: '',
|
|
2883
|
+
selectedBoxSize: '',
|
|
2884
|
+
});
|
|
2885
|
+
}, [safeDepositState.selectedRegion]);
|
|
2886
|
+
const branch = getBranch(safeDepositState.branches, safeDepositState.selectedBranch);
|
|
2787
2887
|
const caseVolumes = getCaseVolumes(branch?.safeBoxCaseVolumes);
|
|
2788
|
-
const safeBoxCases = getCaseVolume(branch?.safeBoxCaseVolumes, selectedCaseVolume)?.safeBoxCases;
|
|
2789
|
-
const tariffs = getTariffs(safeBoxCases, selectedBoxSize);
|
|
2790
|
-
return (jsxs("div", { className: "flex justify-between align-top mb-6", children: [
|
|
2888
|
+
const safeBoxCases = getCaseVolume(branch?.safeBoxCaseVolumes, safeDepositState.selectedCaseVolume)?.safeBoxCases;
|
|
2889
|
+
const tariffs = getTariffs(safeBoxCases, safeDepositState.selectedBoxSize);
|
|
2890
|
+
return (jsxs("div", { className: "flex justify-between align-top mb-6", children: [jsx(SafeDepositRentalFields, { ...safeDepositState, ...props, caseVolumes: caseVolumes, safeBoxCases: safeBoxCases, onChange: handleChangeSafeDepositState }), jsx(SafeDepositRentalTotal, { days: safeDepositState.days, tariffs: tariffs })] }));
|
|
2791
2891
|
});
|
|
2792
|
-
const getInitialValueSelectedRegion = (regions) => regions?.
|
|
2793
|
-
const getBranch = (branches, selectedBranch) => branches.find((_) => _.branchCode === selectedBranch);
|
|
2892
|
+
const getInitialValueSelectedRegion = (regions) => regions?.length && regions[0]?.code ? regions[0].code : '';
|
|
2794
2893
|
const getCaseVolumes = (safeBoxCaseVolumes) => safeBoxCaseVolumes?.length ? safeBoxCaseVolumes?.filter((_) => _?.safeBoxCases?.length) : [];
|
|
2795
2894
|
const getCaseVolume = (caseVolumes, selectedCaseVolume) => caseVolumes?.find((_) => _.volume === selectedCaseVolume);
|
|
2796
2895
|
const getTariffs = (safeBoxCases, selectedBoxSize) => safeBoxCases?.find((_) => _.safeBoxCasesSize === selectedBoxSize)?.tariffs;
|
|
2797
2896
|
|
|
2798
|
-
const REGIONS_URL = '/api/v1/
|
|
2897
|
+
const REGIONS_URL = '/api/v1/regions';
|
|
2799
2898
|
function useGetRegions() {
|
|
2800
2899
|
const { data } = useAsyncData(REGIONS_URL, fetchJSONUnsafe);
|
|
2801
2900
|
return data || [];
|
|
2802
2901
|
}
|
|
2803
2902
|
|
|
2804
|
-
|
|
2903
|
+
function renderClusterer(Map, points) {
|
|
2904
|
+
Map.geoObjects.removeAll();
|
|
2905
|
+
const pointsList = points;
|
|
2906
|
+
const clusterIconContentLayout = ymaps.templateLayoutFactory.createClass('<div style="margin-top: -3px;">{{properties.geoObjects.length}}</div>');
|
|
2907
|
+
const clusterer = new ymaps.Clusterer({
|
|
2908
|
+
clusterIcons: [
|
|
2909
|
+
{
|
|
2910
|
+
href: 'icons/MapMarkerClusterIcon.svg',
|
|
2911
|
+
size: [78, 84],
|
|
2912
|
+
offset: [-35, -50],
|
|
2913
|
+
},
|
|
2914
|
+
],
|
|
2915
|
+
clusterIconContentLayout,
|
|
2916
|
+
clusterHideIconOnBalloonOpen: false,
|
|
2917
|
+
geoObjectHideIconOnBalloonOpen: false,
|
|
2918
|
+
});
|
|
2919
|
+
const geoObjects = [];
|
|
2920
|
+
for (let i = 0, len = pointsList.length; i < len; i++) {
|
|
2921
|
+
geoObjects[i] = new ymaps.Placemark(pointsList[i], null, {
|
|
2922
|
+
iconLayout: 'default#image',
|
|
2923
|
+
iconImageHref: 'icons/MapMarkerSingleIcon.svg',
|
|
2924
|
+
iconImageSize: [78, 84],
|
|
2925
|
+
iconImageOffset: [-35, -50],
|
|
2926
|
+
});
|
|
2927
|
+
}
|
|
2928
|
+
clusterer.add(geoObjects);
|
|
2929
|
+
Map.geoObjects.add(clusterer);
|
|
2930
|
+
Map.setBounds(ymaps.util.bounds.fromPoints(pointsList)).then(() => {
|
|
2931
|
+
if (Map.getZoom() > 10) {
|
|
2932
|
+
Map.setZoom(10);
|
|
2933
|
+
}
|
|
2934
|
+
});
|
|
2935
|
+
}
|
|
2936
|
+
|
|
2937
|
+
let Map$1 = null;
|
|
2938
|
+
const YandexMap = JSX(({ points }) => {
|
|
2939
|
+
useEffect(() => {
|
|
2940
|
+
ymaps.ready(() => {
|
|
2941
|
+
Map$1 = new ymaps.Map('map', {
|
|
2942
|
+
center: points[0],
|
|
2943
|
+
zoom: 10,
|
|
2944
|
+
});
|
|
2945
|
+
renderClusterer(Map$1, points);
|
|
2946
|
+
});
|
|
2947
|
+
}, []);
|
|
2948
|
+
if (Map$1 && points) {
|
|
2949
|
+
renderClusterer(Map$1, points);
|
|
2950
|
+
}
|
|
2951
|
+
return (jsxs("div", { className: "pt-12 mt-1 bg-white", children: [jsx(Heading, { title: "\u041E\u0444\u0438\u0441\u044B \u043D\u0430 \u043A\u0430\u0440\u0442\u0435", headingType: "h3", className: "mb-8 text-center" }), jsx("div", { id: "map", className: "h-[640px]" })] }));
|
|
2952
|
+
});
|
|
2953
|
+
|
|
2954
|
+
const SafeDepositRental = JSX(({ title, footnote, context, className = '', ...rest }) => {
|
|
2955
|
+
const [points, setPoints] = useState([]);
|
|
2956
|
+
const [showMap, setShowMap] = useState(false);
|
|
2805
2957
|
const regions = useGetRegions();
|
|
2806
|
-
|
|
2958
|
+
const statusScript = useScript(`https://api-maps.yandex.ru/2.1/?apikey=${projectSettings.YANDEX_MAP_API_KEY}&lang=ru_RU`, {
|
|
2959
|
+
removeOnUnmount: true,
|
|
2960
|
+
});
|
|
2961
|
+
const toggleShowMap = () => {
|
|
2962
|
+
setShowMap(!showMap);
|
|
2963
|
+
};
|
|
2964
|
+
return (jsxs(BlockWrapper, { context: context, className: className, ...rest, children: [jsxs("div", { className: "bg-white px-8 py-12", children: [title ? (jsx(Heading, { title: title, headingType: "h3", as: "h2", className: "mb-2.5 text-center" })) : null, jsx(SafeDepositRentalForm, { regions: regions, setPoints: setPoints, toggleShowMap: toggleShowMap }), footnote ? jsx("p", { className: "text-s-light text-secondary-text", children: footnote }) : null] }), statusScript === 'ready' && points.length && showMap ? (jsx(YandexMap, { points: points })) : null] }));
|
|
2807
2965
|
});
|
|
2808
2966
|
|
|
2809
2967
|
const checkIsIconRenderable = (icon) => Boolean(icon?.icon || icon?.src);
|
|
@@ -3081,17 +3239,17 @@
|
|
|
3081
3239
|
|
|
3082
3240
|
const renderErrorContent = (error) => {
|
|
3083
3241
|
if (error?.errorContentType === 'Image' && error?.image) {
|
|
3084
|
-
return jsx(Img, {
|
|
3242
|
+
return jsx(Img, { image: error.image });
|
|
3085
3243
|
}
|
|
3086
3244
|
if (error?.errorContentType === 'Code' && error.code) {
|
|
3087
|
-
return jsx("div", { className: "text-title-extra gradient-color-text", children: error.code });
|
|
3245
|
+
return jsx("div", { className: "font-mohave text-title-extra gradient-color-text", children: error.code });
|
|
3088
3246
|
}
|
|
3089
3247
|
return null;
|
|
3090
3248
|
};
|
|
3091
3249
|
const ErrorBlock = JSX(({ context, className = '', title, subtitle, error, button }) => {
|
|
3092
3250
|
const { useRouter, handlerDecorator } = context;
|
|
3093
3251
|
const router = useRouter();
|
|
3094
|
-
return (jsxs("section", { className: `flex flex-col justify-center items-center ${className}`, role: "listitem", children: [jsx("div", { className: "flex justify-center
|
|
3252
|
+
return (jsxs("section", { className: `flex flex-col justify-center items-center mt-12 ${className}`, role: "listitem", children: [jsx("div", { className: "flex justify-center py-20", children: renderErrorContent(error) }), title ? jsx(Heading, { headingType: "h1", className: "text-left mb-4", title: title }) : null, subtitle ? (jsx("div", { className: "font-sans text-xl-light text-left mb-7 max-w-[613px] text-center", children: subtitle })) : null, button?.text ? (jsx(Button, { className: "py-4 px-9", version: button?.version, ...useLink({ router, handlerDecorator }, button), children: button.text })) : null] }));
|
|
3095
3253
|
});
|
|
3096
3254
|
|
|
3097
3255
|
const Blocks = {
|
|
@@ -3154,7 +3312,7 @@
|
|
|
3154
3312
|
};
|
|
3155
3313
|
}
|
|
3156
3314
|
|
|
3157
|
-
const LikeButton = JSX(({ className, onClick, ariaLabel }) => (jsx("button", { type: "button", className: `border-0 w-
|
|
3315
|
+
const LikeButton = JSX(({ className, onClick, ariaLabel }) => (jsx("button", { type: "button", className: `border-0 w-9 bg-inherit cursor-pointer ${className || ''}`, onClick: onClick, "aria-label": ariaLabel, children: renderLikeIcon() })));
|
|
3158
3316
|
const renderLikeIcon = () => {
|
|
3159
3317
|
const params = {
|
|
3160
3318
|
stroke: '#292D32',
|