@redneckz/wildless-cms-uni-blocks 0.14.333 → 0.14.335
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/bundle/blocks.schema.json +1 -1
- package/bundle/bundle.umd.js +118 -56
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/components/OfficesAtmsMap/OfficesAtmsMapLayout.d.ts +5 -2
- package/bundle/components/OfficesAtmsMap/OfficesAtmsMapProps.d.ts +15 -0
- package/bundle/components/OfficesAtmsMap/YandexMapProps.d.ts +1 -0
- package/bundle/components/OfficesAtmsMap/renderDescriptionBlock.d.ts +3 -0
- package/bundle/components/OfficesAtmsMap/renderRemoteWorkplaceCard.d.ts +7 -0
- package/bundle/components/OfficesAtmsMap/useOffices.d.ts +5 -2
- package/bundle/components/ProductGallery/ProductGallery.d.ts +1 -1
- package/bundle/icons/IconName.d.ts +4 -2
- package/bundle/ui-kit/YandexMap/YandexMap.d.ts +1 -1
- package/bundle/ui-kit/YandexMap/renderClusterer.d.ts +5 -1
- package/cosmos-static/icons/MapMarkerClusterYellowIcon.svg +1 -0
- package/cosmos-static/icons/sprites.svg +1 -0
- package/dist/components/OfficesAtmsMap/OfficesAtmsMapLayout.d.ts +5 -2
- package/dist/components/OfficesAtmsMap/OfficesAtmsMapLayout.js +27 -18
- package/dist/components/OfficesAtmsMap/OfficesAtmsMapLayout.js.map +1 -1
- package/dist/components/OfficesAtmsMap/OfficesAtmsMapProps.d.ts +15 -0
- package/dist/components/OfficesAtmsMap/OfficesMap.js +12 -9
- package/dist/components/OfficesAtmsMap/OfficesMap.js.map +1 -1
- package/dist/components/OfficesAtmsMap/YandexMapProps.d.ts +1 -0
- package/dist/components/OfficesAtmsMap/renderDescriptionBlock.d.ts +3 -0
- package/dist/components/OfficesAtmsMap/renderDescriptionBlock.js +9 -0
- package/dist/components/OfficesAtmsMap/renderDescriptionBlock.js.map +1 -0
- package/dist/components/OfficesAtmsMap/renderFiltrationForm.js +2 -1
- package/dist/components/OfficesAtmsMap/renderFiltrationForm.js.map +1 -1
- package/dist/components/OfficesAtmsMap/renderRemoteWorkplaceCard.d.ts +7 -0
- package/dist/components/OfficesAtmsMap/renderRemoteWorkplaceCard.js +35 -0
- package/dist/components/OfficesAtmsMap/renderRemoteWorkplaceCard.js.map +1 -0
- package/dist/components/OfficesAtmsMap/useOffices.d.ts +5 -2
- package/dist/components/OfficesAtmsMap/useOffices.js +4 -2
- package/dist/components/OfficesAtmsMap/useOffices.js.map +1 -1
- package/dist/components/ProductGallery/ProductGallery.d.ts +1 -1
- package/dist/components/ProductGallery/ProductGallery.js +12 -5
- package/dist/components/ProductGallery/ProductGallery.js.map +1 -1
- package/dist/icons/IconName.d.ts +4 -2
- package/dist/icons/IconName.js +3 -1
- package/dist/icons/IconName.js.map +1 -1
- package/dist/ui-kit/YandexMap/YandexMap.d.ts +1 -1
- package/dist/ui-kit/YandexMap/YandexMap.js +2 -2
- package/dist/ui-kit/YandexMap/YandexMap.js.map +1 -1
- package/dist/ui-kit/YandexMap/renderClusterer.d.ts +5 -1
- package/dist/ui-kit/YandexMap/renderClusterer.js +33 -14
- package/dist/ui-kit/YandexMap/renderClusterer.js.map +1 -1
- package/lib/common.css +1 -1
- package/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.d.ts +5 -2
- package/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.js +27 -18
- package/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.js.map +1 -1
- package/lib/components/OfficesAtmsMap/OfficesAtmsMapProps.d.ts +15 -0
- package/lib/components/OfficesAtmsMap/OfficesMap.js +12 -9
- package/lib/components/OfficesAtmsMap/OfficesMap.js.map +1 -1
- package/lib/components/OfficesAtmsMap/YandexMapProps.d.ts +1 -0
- package/lib/components/OfficesAtmsMap/renderDescriptionBlock.d.ts +2 -0
- package/lib/components/OfficesAtmsMap/renderDescriptionBlock.js +6 -0
- package/lib/components/OfficesAtmsMap/renderDescriptionBlock.js.map +1 -0
- package/lib/components/OfficesAtmsMap/renderFiltrationForm.js +2 -1
- package/lib/components/OfficesAtmsMap/renderFiltrationForm.js.map +1 -1
- package/lib/components/OfficesAtmsMap/renderRemoteWorkplaceCard.d.ts +6 -0
- package/lib/components/OfficesAtmsMap/renderRemoteWorkplaceCard.js +31 -0
- package/lib/components/OfficesAtmsMap/renderRemoteWorkplaceCard.js.map +1 -0
- package/lib/components/OfficesAtmsMap/useOffices.d.ts +5 -2
- package/lib/components/OfficesAtmsMap/useOffices.js +4 -2
- package/lib/components/OfficesAtmsMap/useOffices.js.map +1 -1
- package/lib/components/ProductGallery/ProductGallery.d.ts +1 -1
- package/lib/components/ProductGallery/ProductGallery.js +12 -5
- package/lib/components/ProductGallery/ProductGallery.js.map +1 -1
- package/lib/icons/IconName.d.ts +4 -2
- package/lib/icons/IconName.js +3 -1
- package/lib/icons/IconName.js.map +1 -1
- package/lib/ui-kit/YandexMap/YandexMap.d.ts +1 -1
- package/lib/ui-kit/YandexMap/YandexMap.js +2 -2
- package/lib/ui-kit/YandexMap/YandexMap.js.map +1 -1
- package/lib/ui-kit/YandexMap/renderClusterer.d.ts +5 -1
- package/lib/ui-kit/YandexMap/renderClusterer.js +32 -13
- package/lib/ui-kit/YandexMap/renderClusterer.js.map +1 -1
- package/mobile/bundle/bundle.umd.js +108 -50
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/components/OfficesAtmsMap/OfficesAtmsMapLayout.d.ts +5 -2
- package/mobile/bundle/components/OfficesAtmsMap/OfficesAtmsMapProps.d.ts +15 -0
- package/mobile/bundle/components/OfficesAtmsMap/YandexMapProps.d.ts +1 -0
- package/mobile/bundle/components/OfficesAtmsMap/renderDescriptionBlock.d.ts +3 -0
- package/mobile/bundle/components/OfficesAtmsMap/renderRemoteWorkplaceCard.d.ts +7 -0
- package/mobile/bundle/components/OfficesAtmsMap/useOffices.d.ts +5 -2
- package/mobile/bundle/icons/IconName.d.ts +4 -2
- package/mobile/bundle/ui-kit/YandexMap/YandexMap.d.ts +1 -1
- package/mobile/bundle/ui-kit/YandexMap/renderClusterer.d.ts +5 -1
- package/mobile/dist/components/OfficesAtmsMap/OfficesAtmsMapLayout.d.ts +5 -2
- package/mobile/dist/components/OfficesAtmsMap/OfficesAtmsMapLayout.js +27 -18
- package/mobile/dist/components/OfficesAtmsMap/OfficesAtmsMapLayout.js.map +1 -1
- package/mobile/dist/components/OfficesAtmsMap/OfficesAtmsMapProps.d.ts +15 -0
- package/mobile/dist/components/OfficesAtmsMap/OfficesMap.js +12 -9
- package/mobile/dist/components/OfficesAtmsMap/OfficesMap.js.map +1 -1
- package/mobile/dist/components/OfficesAtmsMap/YandexMapProps.d.ts +1 -0
- package/mobile/dist/components/OfficesAtmsMap/renderDescriptionBlock.d.ts +3 -0
- package/mobile/dist/components/OfficesAtmsMap/renderDescriptionBlock.js +9 -0
- package/mobile/dist/components/OfficesAtmsMap/renderDescriptionBlock.js.map +1 -0
- package/mobile/dist/components/OfficesAtmsMap/renderFiltrationForm.js +2 -1
- package/mobile/dist/components/OfficesAtmsMap/renderFiltrationForm.js.map +1 -1
- package/mobile/dist/components/OfficesAtmsMap/renderRemoteWorkplaceCard.d.ts +7 -0
- package/mobile/dist/components/OfficesAtmsMap/renderRemoteWorkplaceCard.js +35 -0
- package/mobile/dist/components/OfficesAtmsMap/renderRemoteWorkplaceCard.js.map +1 -0
- package/mobile/dist/components/OfficesAtmsMap/useOffices.d.ts +5 -2
- package/mobile/dist/components/OfficesAtmsMap/useOffices.js +4 -2
- package/mobile/dist/components/OfficesAtmsMap/useOffices.js.map +1 -1
- package/mobile/dist/icons/IconName.d.ts +4 -2
- package/mobile/dist/icons/IconName.js +3 -1
- package/mobile/dist/icons/IconName.js.map +1 -1
- package/mobile/dist/ui-kit/YandexMap/YandexMap.d.ts +1 -1
- package/mobile/dist/ui-kit/YandexMap/YandexMap.js +2 -2
- package/mobile/dist/ui-kit/YandexMap/YandexMap.js.map +1 -1
- package/mobile/dist/ui-kit/YandexMap/renderClusterer.d.ts +5 -1
- package/mobile/dist/ui-kit/YandexMap/renderClusterer.js +33 -14
- package/mobile/dist/ui-kit/YandexMap/renderClusterer.js.map +1 -1
- package/mobile/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.d.ts +5 -2
- package/mobile/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.js +27 -18
- package/mobile/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.js.map +1 -1
- package/mobile/lib/components/OfficesAtmsMap/OfficesAtmsMapProps.d.ts +15 -0
- package/mobile/lib/components/OfficesAtmsMap/OfficesMap.js +12 -9
- package/mobile/lib/components/OfficesAtmsMap/OfficesMap.js.map +1 -1
- package/mobile/lib/components/OfficesAtmsMap/YandexMapProps.d.ts +1 -0
- package/mobile/lib/components/OfficesAtmsMap/renderDescriptionBlock.d.ts +3 -0
- package/mobile/lib/components/OfficesAtmsMap/renderDescriptionBlock.js +6 -0
- package/mobile/lib/components/OfficesAtmsMap/renderDescriptionBlock.js.map +1 -0
- package/mobile/lib/components/OfficesAtmsMap/renderFiltrationForm.js +2 -1
- package/mobile/lib/components/OfficesAtmsMap/renderFiltrationForm.js.map +1 -1
- package/mobile/lib/components/OfficesAtmsMap/renderRemoteWorkplaceCard.d.ts +7 -0
- package/mobile/lib/components/OfficesAtmsMap/renderRemoteWorkplaceCard.js +31 -0
- package/mobile/lib/components/OfficesAtmsMap/renderRemoteWorkplaceCard.js.map +1 -0
- package/mobile/lib/components/OfficesAtmsMap/useOffices.d.ts +5 -2
- package/mobile/lib/components/OfficesAtmsMap/useOffices.js +4 -2
- package/mobile/lib/components/OfficesAtmsMap/useOffices.js.map +1 -1
- package/mobile/lib/icons/IconName.d.ts +4 -2
- package/mobile/lib/icons/IconName.js +3 -1
- package/mobile/lib/icons/IconName.js.map +1 -1
- package/mobile/lib/ui-kit/YandexMap/YandexMap.d.ts +1 -1
- package/mobile/lib/ui-kit/YandexMap/YandexMap.js +2 -2
- package/mobile/lib/ui-kit/YandexMap/YandexMap.js.map +1 -1
- package/mobile/lib/ui-kit/YandexMap/renderClusterer.d.ts +5 -1
- package/mobile/lib/ui-kit/YandexMap/renderClusterer.js +32 -13
- package/mobile/lib/ui-kit/YandexMap/renderClusterer.js.map +1 -1
- package/mobile/src/components/OfficesAtmsMap/OfficesAtmsMapLayout.tsx +34 -45
- package/mobile/src/components/OfficesAtmsMap/OfficesAtmsMapProps.tsx +15 -0
- package/mobile/src/components/OfficesAtmsMap/OfficesMap.tsx +28 -12
- package/mobile/src/components/OfficesAtmsMap/YandexMapProps.ts +1 -0
- package/mobile/src/components/OfficesAtmsMap/renderDescriptionBlock.tsx +29 -0
- package/mobile/src/components/OfficesAtmsMap/renderFiltrationForm.tsx +2 -1
- package/mobile/src/components/OfficesAtmsMap/renderRemoteWorkplaceCard.tsx +86 -0
- package/mobile/src/components/OfficesAtmsMap/useOffices.ts +11 -4
- package/mobile/src/icons/IconName.ts +5 -5
- package/mobile/src/icons/MapMarkerClusterYellowIcon.svg +1 -0
- package/mobile/src/ui-kit/YandexMap/YandexMap.tsx +3 -3
- package/mobile/src/ui-kit/YandexMap/renderClusterer.ts +62 -16
- package/package.json +1 -1
- package/src/components/OfficesAtmsMap/OfficesAtmsMapLayout.tsx +34 -45
- package/src/components/OfficesAtmsMap/OfficesAtmsMapProps.tsx +15 -0
- package/src/components/OfficesAtmsMap/OfficesMap.tsx +28 -12
- package/src/components/OfficesAtmsMap/YandexMapProps.ts +1 -0
- package/src/components/OfficesAtmsMap/renderDescriptionBlock.tsx +29 -0
- package/src/components/OfficesAtmsMap/renderFiltrationForm.tsx +2 -1
- package/src/components/OfficesAtmsMap/renderRemoteWorkplaceCard.tsx +86 -0
- package/src/components/OfficesAtmsMap/useOffices.ts +11 -4
- package/src/components/ProductGallery/ProductGallery.tsx +37 -7
- package/src/icons/IconName.ts +5 -1
- package/src/icons/MapMarkerClusterYellowIcon.svg +1 -0
- package/src/ui-kit/YandexMap/YandexMap.tsx +3 -3
- package/src/ui-kit/YandexMap/renderClusterer.ts +62 -16
package/bundle/bundle.umd.js
CHANGED
|
@@ -2160,7 +2160,7 @@
|
|
|
2160
2160
|
/** @deprecated */
|
|
2161
2161
|
const ScrollRightButton = JSX((props) => (jsx(ArrowButton, { ...props, className: `${props.className || ''} rotate-180`, ariaLabel: "\u041F\u0440\u043E\u043B\u0438\u0441\u0442\u0430\u0442\u044C \u0432\u043F\u0440\u0430\u0432\u043E", "data-block-control": "scroll-right" })));
|
|
2162
2162
|
|
|
2163
|
-
const scrollButtonStyle$
|
|
2163
|
+
const scrollButtonStyle$2 = 'absolute top-[calc(50%-24px)] z-40';
|
|
2164
2164
|
const blurBaseStyle = 'absolute top-0 bottom-0 z-40 hidden @lg:block w-20 pointer-events-none';
|
|
2165
2165
|
const CarouselScrollButtons = JSX(({ scroll, activeIndex, itemCount, arrowsPadded, hasEdgeBlocks, onScrollLeft, onScrollRight, }) => {
|
|
2166
2166
|
const { canScrollLeft, canScrollRight, scrollLeft, scrollRight } = scroll;
|
|
@@ -2184,7 +2184,7 @@
|
|
|
2184
2184
|
onScrollRight();
|
|
2185
2185
|
}
|
|
2186
2186
|
}, [scrollRight, onScrollRight, hasEdgeBlocks, canScrollLeft, activeIndex, itemCount]);
|
|
2187
|
-
return (jsxs("div", { className: "m:hidden block", children: [renderBlur(scroll), canMoveLeft ? (jsx(ScrollLeftButton, { className: style(scrollButtonStyle$
|
|
2187
|
+
return (jsxs("div", { className: "m:hidden block", children: [renderBlur(scroll), canMoveLeft ? (jsx(ScrollLeftButton, { className: style(scrollButtonStyle$2, arrowsPadded ? 'left-1 m:left-8' : 'left-0'), onClick: handleScrollLeft })) : null, canMoveRight ? (jsx(ScrollRightButton, { className: style(scrollButtonStyle$2, arrowsPadded ? 'right-1 m:right-8' : 'right-0'), onClick: handleScrollRight })) : null] }));
|
|
2188
2188
|
});
|
|
2189
2189
|
const renderBlur = (scroll) => (jsxs("div", { children: [scroll.canScrollLeft ? (jsx("div", { className: style(blurBaseStyle, 'left-0 bg-opacity-from-white group-data-secondary:bg-none') })) : null, scroll.canScrollRight ? (jsx("div", { className: style(blurBaseStyle, 'right-0 bg-opacity-to-white group-data-secondary:bg-none') })) : null] }));
|
|
2190
2190
|
|
|
@@ -4817,13 +4817,37 @@
|
|
|
4817
4817
|
childSchema: (content) => content?.filtrationSchema || {},
|
|
4818
4818
|
});
|
|
4819
4819
|
|
|
4820
|
-
|
|
4820
|
+
const MapMarkerClusterIcon = '/icons/MapMarkerClusterIcon.svg';
|
|
4821
|
+
const MapMarkerClusterYellowIcon = '/icons/MapMarkerClusterYellowIcon.svg';
|
|
4822
|
+
function renderClusterer({ yandexMaps, map, points, }) {
|
|
4821
4823
|
map.geoObjects.removeAll();
|
|
4822
4824
|
const clusterIconContentLayout = yandexMaps.templateLayoutFactory.createClass('<div style="margin-top: -3px;">{{properties.geoObjects.length}}</div>');
|
|
4823
|
-
const
|
|
4825
|
+
const officeClusterer = defineClusterer('offices', yandexMaps, clusterIconContentLayout);
|
|
4826
|
+
if (points.length && points.every((_) => 'type' in _)) {
|
|
4827
|
+
const remoteWorkplaceClusterer = defineClusterer('workplaces', yandexMaps, clusterIconContentLayout);
|
|
4828
|
+
const remoteWorkplaceGeoObjects = defineGeoObjects(points.filter((_) => _.type === 'workplaces'), 'workplaces', yandexMaps);
|
|
4829
|
+
const officesGeoObjects = defineGeoObjects(points.filter((_) => _.type === 'offices'), 'offices', yandexMaps);
|
|
4830
|
+
officeClusterer.add(officesGeoObjects);
|
|
4831
|
+
remoteWorkplaceClusterer.add(remoteWorkplaceGeoObjects);
|
|
4832
|
+
map.geoObjects.add(remoteWorkplaceClusterer);
|
|
4833
|
+
map.geoObjects.add(officeClusterer);
|
|
4834
|
+
}
|
|
4835
|
+
else {
|
|
4836
|
+
const geoObjects = defineGeoObjects(points, 'offices', yandexMaps);
|
|
4837
|
+
officeClusterer.add(geoObjects);
|
|
4838
|
+
map.geoObjects.add(officeClusterer);
|
|
4839
|
+
}
|
|
4840
|
+
map.setBounds(yandexMaps.util.bounds.fromPoints(points.map((_) => _.coords))).then(() => {
|
|
4841
|
+
if (map.getZoom() > 10) {
|
|
4842
|
+
map.setZoom(10);
|
|
4843
|
+
}
|
|
4844
|
+
});
|
|
4845
|
+
}
|
|
4846
|
+
const defineClusterer = (type, yandexMaps, clusterIconContentLayout) => {
|
|
4847
|
+
return new yandexMaps.Clusterer({
|
|
4824
4848
|
clusterIcons: [
|
|
4825
4849
|
{
|
|
4826
|
-
href: '
|
|
4850
|
+
href: type === 'offices' ? MapMarkerClusterIcon : MapMarkerClusterYellowIcon,
|
|
4827
4851
|
size: [78, 84],
|
|
4828
4852
|
offset: [-35, -50],
|
|
4829
4853
|
},
|
|
@@ -4832,25 +4856,20 @@
|
|
|
4832
4856
|
clusterHideIconOnBalloonOpen: false,
|
|
4833
4857
|
geoObjectHideIconOnBalloonOpen: false,
|
|
4834
4858
|
});
|
|
4835
|
-
|
|
4859
|
+
};
|
|
4860
|
+
const defineGeoObjects = (pointArr, type, yandexMaps) => {
|
|
4861
|
+
return pointArr.map(({ coords, content }) => new yandexMaps.Placemark(coords, {
|
|
4836
4862
|
balloonContentHeader: content?.header,
|
|
4837
4863
|
balloonContentBody: content?.body,
|
|
4838
4864
|
balloonContentFooter: content?.footer,
|
|
4839
4865
|
hintContent: content?.hint,
|
|
4840
4866
|
}, {
|
|
4841
4867
|
iconLayout: 'default#image',
|
|
4842
|
-
iconImageHref: '
|
|
4868
|
+
iconImageHref: type === 'offices' ? MapMarkerClusterIcon : MapMarkerClusterYellowIcon,
|
|
4843
4869
|
iconImageSize: [78, 84],
|
|
4844
4870
|
iconImageOffset: [-35, -50],
|
|
4845
4871
|
}));
|
|
4846
|
-
|
|
4847
|
-
map.geoObjects.add(clusterer);
|
|
4848
|
-
map.setBounds(yandexMaps.util.bounds.fromPoints(points.map((_) => _.coords))).then(() => {
|
|
4849
|
-
if (map.getZoom() > 10) {
|
|
4850
|
-
map.setZoom(10);
|
|
4851
|
-
}
|
|
4852
|
-
});
|
|
4853
|
-
}
|
|
4872
|
+
};
|
|
4854
4873
|
|
|
4855
4874
|
const styles$1 = {
|
|
4856
4875
|
focus: 'focus:border-primary-text focus:border',
|
|
@@ -4923,11 +4942,11 @@
|
|
|
4923
4942
|
controls: [],
|
|
4924
4943
|
suppressMapOpenBlock: true,
|
|
4925
4944
|
});
|
|
4926
|
-
renderClusterer(yandexMaps, map.current, points);
|
|
4945
|
+
renderClusterer({ yandexMaps, map: map.current, points });
|
|
4927
4946
|
});
|
|
4928
4947
|
}
|
|
4929
4948
|
else if (yandexMaps) {
|
|
4930
|
-
renderClusterer(yandexMaps, map.current, points);
|
|
4949
|
+
renderClusterer({ yandexMaps, map: map.current, points });
|
|
4931
4950
|
if (!points?.length) {
|
|
4932
4951
|
map.current.setCenter(DEFAULT_CENTER_COORDS);
|
|
4933
4952
|
}
|
|
@@ -4946,6 +4965,8 @@
|
|
|
4946
4965
|
const mapByIndex = (points, index) => points.map((_) => _.coords[index]);
|
|
4947
4966
|
const getArraySumAndAverage = (arr) => arr.length && arr.reduce((a, b) => a + b) / arr.length;
|
|
4948
4967
|
|
|
4968
|
+
const renderDescriptionBlock$1 = ({ __html, list }) => __html || list?.length ? (jsxs("div", { className: "mb-2xl border-b sm:border border-main-divider sm:rounded-md", children: [__html ? (jsx("div", { className: "mb-2xl", children: jsx(RichText, { __html: __html }) })) : null, list?.length ? (jsx("div", { className: "flex flex-col sm:flex-row gap-2xl sm:flex-wrap pb-2xl sm:pb-xl", children: list.map((item, i) => (jsxs("div", { className: "flex gap-xs items-center", children: [item?.image ? jsx(Img, { image: item.image }) : null, item?.text ? (jsx(Text, { size: "text-m", font: "font-light", children: item.text })) : null] }, String(i)))) })) : null] })) : null;
|
|
4969
|
+
|
|
4949
4970
|
const FILTRATION_LABELS = {
|
|
4950
4971
|
safeBoxCaseVolumes: 'Аренда индивидуальных сейфовых ячеек',
|
|
4951
4972
|
workingSaturday: 'Открыты по субботам',
|
|
@@ -4960,14 +4981,14 @@
|
|
|
4960
4981
|
bullionOperations: 'Операции со слитками',
|
|
4961
4982
|
preciousMetalsOperations: 'Операции с драгоценными металлами',
|
|
4962
4983
|
transferringDataToBiometricSystem: 'Передача фото и голоса в Единую биометрическую систему',
|
|
4984
|
+
remoteWorkplace: 'Удаленное рабочее место',
|
|
4963
4985
|
};
|
|
4964
4986
|
const COMMON_FILTERS_STYLES = 'flex flex-col sm:flex-row sm:flex-wrap gap-3xl pb-2xl';
|
|
4965
4987
|
const renderFiltrationForm = (filters, { field, reset }, onlyOffice) => {
|
|
4966
|
-
const visibleFiltersNum =
|
|
4988
|
+
const visibleFiltersNum = 4;
|
|
4967
4989
|
const filtersCheckbox = (filters || []).map((key) => (jsx(Checkbox, { text: FILTRATION_LABELS[key], ...field(key) }, key)));
|
|
4968
|
-
const [visibleFilters, hiddenFilters] = visibleFiltersNum
|
|
4969
|
-
|
|
4970
|
-
: [filtersCheckbox, []];
|
|
4990
|
+
const [visibleFilters, hiddenFilters] = [filtersCheckbox.slice(0, visibleFiltersNum), filtersCheckbox.slice(visibleFiltersNum)]
|
|
4991
|
+
;
|
|
4971
4992
|
return (jsx("div", { children: filters?.length ? (jsx("div", { children: jsx(Foldable, { renderFoldableSection: ({ isUnfolded }) => (jsxs("div", { children: [jsx("div", { className: COMMON_FILTERS_STYLES, children: visibleFilters }), jsx(FoldableSection, { className: COMMON_FILTERS_STYLES, isUnfolded: isUnfolded, children: hiddenFilters })] })), renderFoldButton: renderFoldButton$2(reset, onlyOffice) }) })) : null }));
|
|
4972
4993
|
};
|
|
4973
4994
|
const renderFoldButton$2 = (reset, onlyOffice) => ({ isUnfolded, onToggle }) => {
|
|
@@ -4979,37 +5000,47 @@
|
|
|
4979
5000
|
const defaultEmptyFunction = () => void 0;
|
|
4980
5001
|
const defaultFilterItems = () => [];
|
|
4981
5002
|
const filtersVisibleStyles = (activeButton) => activeButton === 'all' ? 'block' : 'hidden';
|
|
4982
|
-
const OfficesAtmsMapLayout = JSX(({ className, data = [], renderCard = defaultEmptyFunction, filterItems = defaultFilterItems, getBalloon = defaultEmptyFunction, initFilterState = {}, descriptionData, title, }) => {
|
|
5003
|
+
const OfficesAtmsMapLayout = JSX(({ className, data = [], remoteWorkplaces = [], renderCard = defaultEmptyFunction, renderRemoteWorkplaceCard = defaultEmptyFunction, filterItems = defaultFilterItems, getBalloon = defaultEmptyFunction, getBalloonRemoteWorkplaces = defaultEmptyFunction, initFilterState = {}, descriptionData, title, }) => {
|
|
4983
5004
|
const onlyOffice = title?.includes('Офис');
|
|
4984
5005
|
const [filtrationState, { field, reset }] = useForm(initFilterState);
|
|
4985
|
-
const [filteredItems, points, lengthItems] = useMemo(() => {
|
|
5006
|
+
const [filteredItems, points, filteredRemoteWorkplaces, lengthItems] = useMemo(() => {
|
|
4986
5007
|
const _filteredItems = filterItems(data, filtrationState);
|
|
4987
|
-
const
|
|
4988
|
-
|
|
4989
|
-
|
|
4990
|
-
|
|
4991
|
-
|
|
4992
|
-
|
|
4993
|
-
|
|
4994
|
-
|
|
5008
|
+
const _filteredRemoteWorkplaces = filterItems(remoteWorkplaces, filtrationState);
|
|
5009
|
+
const _points = [
|
|
5010
|
+
..._filteredItems.map((_) => ({
|
|
5011
|
+
type: 'offices',
|
|
5012
|
+
coords: [Number(_.gpsLatitude), Number(_.gpsLongitude)]?.filter(Boolean),
|
|
5013
|
+
content: getBalloon(_),
|
|
5014
|
+
})),
|
|
5015
|
+
..._filteredRemoteWorkplaces.map((_) => ({
|
|
5016
|
+
type: 'workplaces',
|
|
5017
|
+
coords: [Number(_.gpsLatitude), Number(_.gpsLongitude)]?.filter(Boolean),
|
|
5018
|
+
content: getBalloonRemoteWorkplaces({
|
|
5019
|
+
address: _.address,
|
|
5020
|
+
workScheduleDescription: _.workScheduleDescription,
|
|
5021
|
+
}),
|
|
5022
|
+
})),
|
|
5023
|
+
].filter((_) => _.coords && _.coords.length === 2);
|
|
5024
|
+
const itemsLength = _filteredItems.length + _filteredRemoteWorkplaces?.length;
|
|
5025
|
+
return [_filteredItems, _points, _filteredRemoteWorkplaces, itemsLength];
|
|
5026
|
+
}, [data, remoteWorkplaces, filtrationState]);
|
|
4995
5027
|
const [activeButton, setActiveButton] = useState('all');
|
|
4996
|
-
return (jsxs("div", { className: style('space-y-1', className), children: [jsxs("div", { className: "bg-white", children: [jsxs("div", { className: "p-6xl pb-0", children: [jsx("div", { className: "flex flex-col sm:flex-row gap-xs mb-2xl", children: jsxs(Heading, { headingType: "h2", children: [title, lengthItems ? (jsx(Text, { size: "text-h2", color: "text-secondary-text", children: ` (${lengthItems})` })) : null] }) }), descriptionData ? renderDescriptionBlock$1(descriptionData) : null, onlyOffice && renderButtonsGroup(data, activeButton, setActiveButton), jsx("div", { className: style('pb-2xl', filtersVisibleStyles(activeButton)), children: renderFiltrationForm(Object.keys(initFilterState), { field, reset }, onlyOffice) })] }), jsx("div", { className: "h-[600px]", children: jsx(ClientOnly, { children: jsx(YandexMap, { points: points, className: "h-full" }) }) })] }), filteredItems.map(renderCard)] }));
|
|
5028
|
+
return (jsxs("div", { className: style('space-y-1', className), children: [jsxs("div", { className: "bg-white", children: [jsxs("div", { className: "p-6xl pb-0", children: [jsx("div", { className: "flex flex-col sm:flex-row gap-xs mb-2xl", children: jsxs(Heading, { headingType: "h2", children: [title, lengthItems ? (jsx(Text, { size: "text-h2", color: "text-secondary-text", children: ` (${lengthItems})` })) : null] }) }), descriptionData ? renderDescriptionBlock$1(descriptionData) : null, onlyOffice && renderButtonsGroup(data, activeButton, setActiveButton), jsx("div", { className: style('pb-2xl', filtersVisibleStyles(activeButton)), children: renderFiltrationForm(Object.keys(initFilterState), { field, reset }, onlyOffice) })] }), jsx("div", { className: "h-[600px]", children: jsx(ClientOnly, { children: jsx(YandexMap, { points: points, className: "h-full" }) }) })] }), filteredItems.map(renderCard), filteredRemoteWorkplaces.map(renderRemoteWorkplaceCard)] }));
|
|
4997
5029
|
});
|
|
4998
|
-
const renderButtonsGroup = (data, activeButton,
|
|
5030
|
+
const renderButtonsGroup = (data, activeButton, onButtonClick) => {
|
|
4999
5031
|
const allButtonVersion = activeButton === 'all' ? 'primary' : 'secondary';
|
|
5000
5032
|
const businessButtonVersion = activeButton === 'business' ? 'primary' : 'secondary';
|
|
5001
|
-
const
|
|
5033
|
+
const handleClick = (e, key, branches) => {
|
|
5002
5034
|
if (e.currentTarget === e.target && key === 'business') {
|
|
5003
5035
|
branches.filter((branch) => branch.workSchedule &&
|
|
5004
5036
|
branch.workSchedule.businessScheduleVisibleTag &&
|
|
5005
5037
|
!branch.workSchedule.businessScheduleDescription);
|
|
5006
5038
|
}
|
|
5007
|
-
|
|
5039
|
+
onButtonClick(key);
|
|
5008
5040
|
return branches;
|
|
5009
5041
|
};
|
|
5010
|
-
return (jsxs("div", { className: "flex gap-lg flex-col sm:flex-row pb-lg", children: [jsx(Button, { "data-id": "all", onClick: (e) =>
|
|
5042
|
+
return (jsxs("div", { className: "flex gap-lg flex-col sm:flex-row pb-lg", children: [jsx(Button, { "data-id": "all", onClick: (e) => handleClick(e, 'all', data), version: allButtonVersion, children: "\u0414\u043B\u044F \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043A\u0438\u0445 \u043B\u0438\u0446" }), jsx(Button, { "data-id": "business", onClick: (e) => handleClick(e, 'business', data), version: businessButtonVersion, children: "\u0414\u043B\u044F \u044E\u0440\u0438\u0434\u0438\u0447\u0435\u0441\u043A\u0438\u0445 \u043B\u0438\u0446" })] }));
|
|
5011
5043
|
};
|
|
5012
|
-
const renderDescriptionBlock$1 = ({ __html, list }) => __html || list?.length ? (jsxs("div", { className: "mb-2xl border-b sm:border border-main-divider sm:rounded-md", children: [__html ? (jsx("div", { className: "mb-2xl", children: jsx(RichText, { __html: __html }) })) : null, list?.length ? (jsx("div", { className: "flex flex-col sm:flex-row gap-2xl sm:flex-wrap pb-2xl sm:pb-xl", children: list.map((item, i) => (jsxs("div", { className: "flex gap-xs items-center", children: [item?.image ? jsx(Img, { image: item.image }) : null, item?.text ? (jsx(Text, { size: "text-m", font: "font-light", children: item.text })) : null] }, String(i)))) })) : null] })) : null;
|
|
5013
5044
|
|
|
5014
5045
|
const colorStyle = {
|
|
5015
5046
|
yellow: { border: 'border-yellow-light', text: 'text-yellow' },
|
|
@@ -5233,7 +5264,7 @@
|
|
|
5233
5264
|
return null;
|
|
5234
5265
|
}
|
|
5235
5266
|
const workScheduleWeek = getWorkScheduleWeek(workSchedule);
|
|
5236
|
-
return (jsxs("div", { className: "bg-white col-span-12 p-3xl sm:border-green sm:border", children: [jsxs("div", { className: "sm:flex sm:justify-between", children: [jsxs("div", { children: [jsx(Text, { size: "text-h4", children: name }), address ? (jsxs("div", { className: "flex pb-xl pt-xs gap-2xs", children: [jsx(Icon, { name: "GeolocationIcon", width: "24", height: "24" }), jsx(Text, { size: "text-l", children: address })] })) : null] }), renderCurrentDaySchedule(workScheduleWeek)] }), jsx("div", { className: "hidden sm:block", children: renderCardContent({
|
|
5267
|
+
return (jsxs("div", { className: "bg-white col-span-12 p-3xl sm:border-green sm:border", children: [jsxs("div", { className: "sm:flex sm:justify-between", children: [jsxs("div", { children: [jsx(Text, { size: "text-h4", children: name }), address ? (jsxs("div", { className: "flex pb-xl pt-xs gap-2xs", children: [jsx(Icon, { name: "GeolocationIcon", width: "24", height: "24" }), jsx(Text, { size: "text-l", children: address })] })) : null] }), renderCurrentDaySchedule(workScheduleWeek)] }), jsx("div", { className: "hidden sm:block", children: renderCardContent$1({
|
|
5237
5268
|
phone,
|
|
5238
5269
|
fax,
|
|
5239
5270
|
phoneBusiness,
|
|
@@ -5243,7 +5274,7 @@
|
|
|
5243
5274
|
workSchedule,
|
|
5244
5275
|
exchangeRate,
|
|
5245
5276
|
}) }), jsx(Foldable, { className: "block sm:hidden", renderFoldableSection: ({ isUnfolded }) => {
|
|
5246
|
-
return (jsx(FoldableSection, { isUnfolded: isUnfolded, children: renderCardContent({
|
|
5277
|
+
return (jsx(FoldableSection, { isUnfolded: isUnfolded, children: renderCardContent$1({
|
|
5247
5278
|
phone,
|
|
5248
5279
|
fax,
|
|
5249
5280
|
phoneBusiness,
|
|
@@ -5257,7 +5288,7 @@
|
|
|
5257
5288
|
//** TODO: remove styles with refactoring DefaultFoldButton*/
|
|
5258
5289
|
renderFoldButton: ({ isUnfolded, onToggle }) => renderFoldButton$1({ isUnfolded, onToggle }) })] }, String(index)));
|
|
5259
5290
|
};
|
|
5260
|
-
const renderCardContent = ({ phone, fax, phoneBusiness, phoneNatural, phoneCallCentre, phoneCurrencyControl, workSchedule, exchangeRate, }) => {
|
|
5291
|
+
const renderCardContent$1 = ({ phone, fax, phoneBusiness, phoneNatural, phoneCallCentre, phoneCurrencyControl, workSchedule, exchangeRate, }) => {
|
|
5261
5292
|
const workScheduleWeek = getWorkScheduleWeek(workSchedule);
|
|
5262
5293
|
const labelSchedule = workSchedule?.businessScheduleVisibleTag
|
|
5263
5294
|
? 'Для физических лиц'
|
|
@@ -5273,13 +5304,38 @@
|
|
|
5273
5304
|
return { header, body };
|
|
5274
5305
|
};
|
|
5275
5306
|
|
|
5307
|
+
const renderRemoteWorkplaceCard = ({ address, workScheduleDescription }, index) => {
|
|
5308
|
+
if (!workScheduleDescription) {
|
|
5309
|
+
return null;
|
|
5310
|
+
}
|
|
5311
|
+
return (jsxs("div", { className: "bg-white col-span-12 p-3xl sm:border-green sm:border", children: [jsx("div", { className: "sm:flex sm:justify-between", children: jsxs("div", { children: [jsx(Text, { size: "text-h4", children: "\u0423\u0434\u0430\u043B\u0435\u043D\u043D\u043E\u0435 \u0440\u0430\u0431\u043E\u0447\u0435\u0435 \u043C\u0435\u0441\u0442\u043E" }), address ? (jsxs("div", { className: "flex pb-xl pt-xs gap-2xs", children: [jsx(Icon, { name: "GeolocationIcon", width: "24", height: "24" }), jsx(Text, { size: "text-l", children: address })] })) : null] }) }), jsx("div", { className: "hidden sm:block", children: renderCardContent({
|
|
5312
|
+
workScheduleDescription,
|
|
5313
|
+
}) }), jsx(Foldable, { className: "block sm:hidden", renderFoldableSection: ({ isUnfolded }) => {
|
|
5314
|
+
return (jsx(FoldableSection, { isUnfolded: isUnfolded, children: renderCardContent({
|
|
5315
|
+
workScheduleDescription,
|
|
5316
|
+
}) }));
|
|
5317
|
+
},
|
|
5318
|
+
//** TODO: remove styles with refactoring DefaultFoldButton*/
|
|
5319
|
+
renderFoldButton: ({ isUnfolded, onToggle }) => renderFoldButton$1({ isUnfolded, onToggle }) })] }, String(index)));
|
|
5320
|
+
};
|
|
5321
|
+
const renderCardContent = ({ workScheduleDescription }) => {
|
|
5322
|
+
return (jsxs("div", { children: [jsxs(CardRow, { className: "flex", children: [jsx(CardCell, { label: "\u041E\u043F\u0435\u0440\u0430\u0446\u0438\u0438 \u0434\u043B\u044F \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043A\u0438\u0445 \u043B\u0438\u0446", children: jsx(Text, { children: "\u041E\u0444\u043E\u0440\u043C\u043B\u0435\u043D\u0438\u0435 \u0438 \u043E\u0431\u0441\u043B\u0443\u0436\u0438\u0432\u0430\u043D\u0438\u0435 \u043A\u0440\u0435\u0434\u0438\u0442\u043E\u0432, \u0441\u0447\u0435\u0442\u043E\u0432, \u0432\u043A\u043B\u0430\u0434\u043E\u0432" }) }), jsx(CardCell, { label: "\u041E\u043F\u0435\u0440\u0430\u0446\u0438\u0438 \u0434\u043B\u044F \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043A\u0438\u0445 \u043B\u0438\u0446", children: jsx(Text, { children: "\u041E\u0444\u043E\u0440\u043C\u043B\u0435\u043D\u0438\u0435 \u0438 \u043E\u0431\u0441\u043B\u0443\u0436\u0438\u0432\u0430\u043D\u0438\u0435 \u0431\u0430\u043D\u043A\u043E\u0432\u0441\u043A\u0438\u0445 \u043A\u0430\u0440\u0442" }) }), jsx(CardCell, { label: "\u041E\u043F\u0435\u0440\u0430\u0446\u0438\u0438 \u0434\u043B\u044F \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043A\u0438\u0445 \u043B\u0438\u0446", children: jsx(Text, { children: "\u0418\u043D\u0432\u0435\u0441\u0442\u0438\u0446\u0438\u043E\u043D\u043D\u043E\u0435 \u0438 \u043D\u0430\u043A\u043E\u043F\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0435 \u0441\u0442\u0440\u0430\u0445\u043E\u0432\u0430\u043D\u0438\u0435" }) }), jsx(CardCell, { label: "\u041E\u043F\u0435\u0440\u0430\u0446\u0438\u0438 \u0434\u043B\u044F \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043A\u0438\u0445 \u043B\u0438\u0446", children: jsx(Text, { children: "\u0411\u0435\u0437\u043D\u0430\u043B\u0438\u0447\u043D\u044B\u0435 \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u0438 \u0432 \u0440\u0443\u0431\u043B\u044F\u0445, \u043F\u0435\u0440\u0435\u0432\u043E\u0434\u044B \u0431\u0435\u0437 \u043E\u0442\u043A\u0440\u044B\u0442\u0438\u044F \u0441\u0447\u0451\u0442\u0430" }) })] }), jsx(CardCell, { label: "\u0420\u0435\u0436\u0438\u043C \u0440\u0430\u0431\u043E\u0442\u044B", className: "max-w-none", children: jsx(Text, { children: workScheduleDescription }) })] }));
|
|
5323
|
+
};
|
|
5324
|
+
const getRemoteWorkplacePoint = ({ address = '', workScheduleDescription, }) => {
|
|
5325
|
+
const header = 'Удаленное рабочее место';
|
|
5326
|
+
const body = `${address} ${workScheduleDescription}`;
|
|
5327
|
+
return { header, body };
|
|
5328
|
+
};
|
|
5329
|
+
|
|
5276
5330
|
const EMPTY_VALUE$1 = [];
|
|
5277
5331
|
function useOffices(regionCode) {
|
|
5278
|
-
const { data = EMPTY_VALUE$1 } = useAsyncData(`/api/v1/
|
|
5332
|
+
const { data = EMPTY_VALUE$1 } = useAsyncData(`/api/v1/branchesAndRemoteWorkplaces?regionCode=${regionCode}`, fetchMap);
|
|
5279
5333
|
return data;
|
|
5280
5334
|
}
|
|
5281
5335
|
const fetchMap = async (url) => {
|
|
5282
|
-
const result = await fetchJSON(url, {
|
|
5336
|
+
const result = await fetchJSON(url, {
|
|
5337
|
+
method: 'GET',
|
|
5338
|
+
});
|
|
5283
5339
|
return Array.isArray(result) ? result : EMPTY_VALUE$1;
|
|
5284
5340
|
};
|
|
5285
5341
|
|
|
@@ -5287,6 +5343,7 @@
|
|
|
5287
5343
|
workingSaturday: false,
|
|
5288
5344
|
premiumService: false,
|
|
5289
5345
|
privateBanking: false,
|
|
5346
|
+
remoteWorkplace: false,
|
|
5290
5347
|
sellingCoins: false,
|
|
5291
5348
|
buyingCoins: false,
|
|
5292
5349
|
bullionOperations: false,
|
|
@@ -5294,20 +5351,21 @@
|
|
|
5294
5351
|
transferringDataToBiometricSystem: false,
|
|
5295
5352
|
};
|
|
5296
5353
|
const FILTRATION_PREDICATES = {
|
|
5297
|
-
workingSaturday: (item) => Boolean(item.workSchedule?.workingSaturday),
|
|
5298
|
-
premiumService: (item) => Boolean(item.premiumService),
|
|
5299
|
-
privateBanking: (item) => Boolean(item.privateBanking),
|
|
5300
|
-
|
|
5301
|
-
|
|
5302
|
-
|
|
5303
|
-
|
|
5304
|
-
|
|
5354
|
+
workingSaturday: (item) => Boolean('workSchedule' in item && item.workSchedule?.workingSaturday),
|
|
5355
|
+
premiumService: (item) => Boolean('premiumService' in item && item.premiumService),
|
|
5356
|
+
privateBanking: (item) => Boolean('privateBanking' in item && item.privateBanking),
|
|
5357
|
+
remoteWorkplace: (item) => Boolean('workScheduleDescription' in item),
|
|
5358
|
+
sellingCoins: (item) => Boolean('sellingCoins' in item && item.sellingCoins),
|
|
5359
|
+
buyingCoins: (item) => Boolean('buyingCoins' in item && item.buyingCoins),
|
|
5360
|
+
bullionOperations: (item) => Boolean('bullionOperations' in item && item.bullionOperations),
|
|
5361
|
+
preciousMetalsOperations: (item) => Boolean('preciousMetalsOperations' in item && item.preciousMetalsOperations),
|
|
5362
|
+
transferringDataToBiometricSystem: (item) => Boolean('transferringDataToBiometricSystem' in item && item.transferringDataToBiometricSystem),
|
|
5305
5363
|
};
|
|
5306
5364
|
const OfficesMap = JSX(({ className }) => {
|
|
5307
5365
|
const [currentLocation] = useLocation();
|
|
5308
5366
|
const regionCode = currentLocation?.code ?? '000';
|
|
5309
5367
|
const officesData = useOffices(regionCode);
|
|
5310
|
-
return (jsx(OfficesAtmsMapLayout, { className: className, filterItems: filterItems, data: officesData, initFilterState: INITIAL_FILTRATION_STATE, renderCard: renderOfficeCard, getBalloon: getOfficePoint, title: `Офисы филиала ${currentLocation?.name}` }));
|
|
5368
|
+
return (jsx(OfficesAtmsMapLayout, { className: className, filterItems: filterItems, data: officesData[0]?.branches, remoteWorkplaces: officesData[0]?.remoteWorkplaces, initFilterState: INITIAL_FILTRATION_STATE, renderCard: renderOfficeCard, renderRemoteWorkplaceCard: renderRemoteWorkplaceCard, getBalloon: getOfficePoint, getBalloonRemoteWorkplaces: getRemoteWorkplacePoint, title: `Офисы филиала ${currentLocation?.name}` }));
|
|
5311
5369
|
});
|
|
5312
5370
|
const filterItems = (data, filtrationState) => {
|
|
5313
5371
|
const truthyFilters = Object.keys(filtrationState).filter((key) => filtrationState[key]);
|
|
@@ -5321,22 +5379,26 @@
|
|
|
5321
5379
|
|
|
5322
5380
|
const Placeholder = JSX(({ className, title, description = 'Блок в разработке...', ...rest }) => (jsxs(BlockWrapper, { className: style('box-border', className), ...rest, children: [jsx(Headline, { className: "max-w-[600px]", title: title, description: description, headlineVersion: "L", align: "text-left", isEmbedded: true }), jsx(Shimmer, {})] })));
|
|
5323
5381
|
|
|
5324
|
-
const
|
|
5382
|
+
const scrollButtonStyle$1 = 'hidden sm:flex absolute z-40 top-10';
|
|
5383
|
+
const ProductGallery = UniBlock(({ className = '', padding, slides = [], ...rest }) => {
|
|
5325
5384
|
const [activeSlideIndex, setActiveSlideIndex] = useState(0);
|
|
5326
|
-
|
|
5385
|
+
const [containerRef, scroll] = useSwipeListScroll({
|
|
5386
|
+
itemCount: slides?.length || 0,
|
|
5387
|
+
});
|
|
5388
|
+
return (jsxs(BlockWrapper, { className: style('box-border overflow-hidden', className), defaultPadding: "pt-6xl", padding: padding, ...rest, children: [jsx("div", { className: "flex duration-1000", style: { transform: `translateX(-${activeSlideIndex * 100}%)` }, role: "list", children: slides.map(({ productBlock }, i) => (jsx("div", { className: "box-border grow-0 shrink-0 basis-full", role: "listitem", children: jsx(BaseProductTile, { className: "pl-6xl h-full", headlineVersion: "M", isFullWidthTitle: false, ...productBlock, ...rest }) }, String(i)))) }), jsxs("div", { className: "relative pr-xs mt-m -mb-m flex gap-xs box-border", children: [jsx(SwipeListContainer, { containerRef: containerRef, snapAlign: "snap-start", onVisibleIndicesChange: scroll.handleVisibleIndicesChange, itemClassName: 'h-40 flex items-stretch w-screen', gap: 8, children: slides.map(renderNavButton({ activeSlideIndex, onClick: setActiveSlideIndex })) }), scroll.canScrollLeft ? (jsx(ScrollLeftButton, { className: style('left-6', scrollButtonStyle$1), onClick: scroll.scrollLeft })) : null, scroll.canScrollRight ? (jsx(ScrollRightButton, { className: style('right-6', scrollButtonStyle$1), onClick: scroll.scrollRight })) : null] })] }));
|
|
5327
5389
|
});
|
|
5328
5390
|
const renderNavButton = ({ activeSlideIndex, onClick }) => ({ nav }, i) => {
|
|
5329
5391
|
const isActive = i === activeSlideIndex;
|
|
5330
5392
|
const btnClassName = isActive
|
|
5331
5393
|
? 'min-w-[350px] bg-white shadow-dark-blue border-none p-6'
|
|
5332
|
-
: 'min-w-72 ease-in duration-300 bg-white/10 px-xl py-lg hover:
|
|
5394
|
+
: 'min-w-72 ease-in duration-300 bg-white/10 px-xl py-lg hover:backdrop-blur';
|
|
5333
5395
|
const btnTitleClassName = isActive
|
|
5334
5396
|
? 'text-primary-text text-h6 py-xs'
|
|
5335
5397
|
: 'text-l pb-2xs text-secondary-text group-data-secondary:text-white';
|
|
5336
5398
|
const btnDescClassName = isActive
|
|
5337
5399
|
? 'text-secondary-text text-l font-light'
|
|
5338
5400
|
: 'text-secondary-text text-m font-light group-data-secondary:text-white/80';
|
|
5339
|
-
return (jsxs("button", { type: "button", onClick: () => onClick(i), "aria-label": nav?.title, className: style('relative px-xl box-border overflow-hidden text-left grow basis-0 border border-gray group-data-secondary:border-white/50', btnClassName), children: [jsx("div", { className: btnTitleClassName, children: nav?.title }), jsx("div", { className: btnDescClassName, children: nav?.description })] }, String(i)));
|
|
5401
|
+
return (jsxs("button", { type: "button", onClick: () => onClick(i), "aria-label": nav?.title, className: style('max-h-28 mt-xs ml-xs relative px-xl box-border overflow-hidden text-left grow basis-0 border border-gray group-data-secondary:border-white/50', btnClassName), children: [jsx("div", { className: btnTitleClassName, children: nav?.title }), jsx("div", { className: btnDescClassName, children: nav?.description })] }, String(i)));
|
|
5340
5402
|
};
|
|
5341
5403
|
|
|
5342
5404
|
const RepresentativeOfficeInfo = JSX(({ address, email, telephone, button, className = '', __html, icon, title, version = 'primary', ...rest }) => (jsxs(BlockWrapper, { className: style('box-border text-left space-y-s', className), version: version, ...rest, children: [jsxs("div", { className: "w-full flex justify-between flex-row-reverse", children: [isIcon(icon) ? (jsx("div", { className: 'w-10 h-7 sm:w-24 sm:h-16', children: jsx(Img, { image: icon }) })) : null, title ? jsx(Heading, { headingType: "h3", as: "h3", title: title }) : null] }), jsxs("div", { className: "w-full space-y-m", children: [__html ? renderDescriptionBlock(__html) : null, renderBlock({
|
|
@@ -6180,7 +6242,7 @@
|
|
|
6180
6242
|
slots: () => [HEADER_SLOT, FOOTER_SLOT, STICKY_FOOTER_SLOT],
|
|
6181
6243
|
});
|
|
6182
6244
|
|
|
6183
|
-
const packageVersion = "0.14.
|
|
6245
|
+
const packageVersion = "0.14.334";
|
|
6184
6246
|
|
|
6185
6247
|
exports.Blocks = Blocks;
|
|
6186
6248
|
exports.ContentPage = ContentPage;
|