@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.
Files changed (167) hide show
  1. package/bundle/blocks.schema.json +1 -1
  2. package/bundle/bundle.umd.js +118 -56
  3. package/bundle/bundle.umd.min.js +1 -1
  4. package/bundle/components/OfficesAtmsMap/OfficesAtmsMapLayout.d.ts +5 -2
  5. package/bundle/components/OfficesAtmsMap/OfficesAtmsMapProps.d.ts +15 -0
  6. package/bundle/components/OfficesAtmsMap/YandexMapProps.d.ts +1 -0
  7. package/bundle/components/OfficesAtmsMap/renderDescriptionBlock.d.ts +3 -0
  8. package/bundle/components/OfficesAtmsMap/renderRemoteWorkplaceCard.d.ts +7 -0
  9. package/bundle/components/OfficesAtmsMap/useOffices.d.ts +5 -2
  10. package/bundle/components/ProductGallery/ProductGallery.d.ts +1 -1
  11. package/bundle/icons/IconName.d.ts +4 -2
  12. package/bundle/ui-kit/YandexMap/YandexMap.d.ts +1 -1
  13. package/bundle/ui-kit/YandexMap/renderClusterer.d.ts +5 -1
  14. package/cosmos-static/icons/MapMarkerClusterYellowIcon.svg +1 -0
  15. package/cosmos-static/icons/sprites.svg +1 -0
  16. package/dist/components/OfficesAtmsMap/OfficesAtmsMapLayout.d.ts +5 -2
  17. package/dist/components/OfficesAtmsMap/OfficesAtmsMapLayout.js +27 -18
  18. package/dist/components/OfficesAtmsMap/OfficesAtmsMapLayout.js.map +1 -1
  19. package/dist/components/OfficesAtmsMap/OfficesAtmsMapProps.d.ts +15 -0
  20. package/dist/components/OfficesAtmsMap/OfficesMap.js +12 -9
  21. package/dist/components/OfficesAtmsMap/OfficesMap.js.map +1 -1
  22. package/dist/components/OfficesAtmsMap/YandexMapProps.d.ts +1 -0
  23. package/dist/components/OfficesAtmsMap/renderDescriptionBlock.d.ts +3 -0
  24. package/dist/components/OfficesAtmsMap/renderDescriptionBlock.js +9 -0
  25. package/dist/components/OfficesAtmsMap/renderDescriptionBlock.js.map +1 -0
  26. package/dist/components/OfficesAtmsMap/renderFiltrationForm.js +2 -1
  27. package/dist/components/OfficesAtmsMap/renderFiltrationForm.js.map +1 -1
  28. package/dist/components/OfficesAtmsMap/renderRemoteWorkplaceCard.d.ts +7 -0
  29. package/dist/components/OfficesAtmsMap/renderRemoteWorkplaceCard.js +35 -0
  30. package/dist/components/OfficesAtmsMap/renderRemoteWorkplaceCard.js.map +1 -0
  31. package/dist/components/OfficesAtmsMap/useOffices.d.ts +5 -2
  32. package/dist/components/OfficesAtmsMap/useOffices.js +4 -2
  33. package/dist/components/OfficesAtmsMap/useOffices.js.map +1 -1
  34. package/dist/components/ProductGallery/ProductGallery.d.ts +1 -1
  35. package/dist/components/ProductGallery/ProductGallery.js +12 -5
  36. package/dist/components/ProductGallery/ProductGallery.js.map +1 -1
  37. package/dist/icons/IconName.d.ts +4 -2
  38. package/dist/icons/IconName.js +3 -1
  39. package/dist/icons/IconName.js.map +1 -1
  40. package/dist/ui-kit/YandexMap/YandexMap.d.ts +1 -1
  41. package/dist/ui-kit/YandexMap/YandexMap.js +2 -2
  42. package/dist/ui-kit/YandexMap/YandexMap.js.map +1 -1
  43. package/dist/ui-kit/YandexMap/renderClusterer.d.ts +5 -1
  44. package/dist/ui-kit/YandexMap/renderClusterer.js +33 -14
  45. package/dist/ui-kit/YandexMap/renderClusterer.js.map +1 -1
  46. package/lib/common.css +1 -1
  47. package/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.d.ts +5 -2
  48. package/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.js +27 -18
  49. package/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.js.map +1 -1
  50. package/lib/components/OfficesAtmsMap/OfficesAtmsMapProps.d.ts +15 -0
  51. package/lib/components/OfficesAtmsMap/OfficesMap.js +12 -9
  52. package/lib/components/OfficesAtmsMap/OfficesMap.js.map +1 -1
  53. package/lib/components/OfficesAtmsMap/YandexMapProps.d.ts +1 -0
  54. package/lib/components/OfficesAtmsMap/renderDescriptionBlock.d.ts +2 -0
  55. package/lib/components/OfficesAtmsMap/renderDescriptionBlock.js +6 -0
  56. package/lib/components/OfficesAtmsMap/renderDescriptionBlock.js.map +1 -0
  57. package/lib/components/OfficesAtmsMap/renderFiltrationForm.js +2 -1
  58. package/lib/components/OfficesAtmsMap/renderFiltrationForm.js.map +1 -1
  59. package/lib/components/OfficesAtmsMap/renderRemoteWorkplaceCard.d.ts +6 -0
  60. package/lib/components/OfficesAtmsMap/renderRemoteWorkplaceCard.js +31 -0
  61. package/lib/components/OfficesAtmsMap/renderRemoteWorkplaceCard.js.map +1 -0
  62. package/lib/components/OfficesAtmsMap/useOffices.d.ts +5 -2
  63. package/lib/components/OfficesAtmsMap/useOffices.js +4 -2
  64. package/lib/components/OfficesAtmsMap/useOffices.js.map +1 -1
  65. package/lib/components/ProductGallery/ProductGallery.d.ts +1 -1
  66. package/lib/components/ProductGallery/ProductGallery.js +12 -5
  67. package/lib/components/ProductGallery/ProductGallery.js.map +1 -1
  68. package/lib/icons/IconName.d.ts +4 -2
  69. package/lib/icons/IconName.js +3 -1
  70. package/lib/icons/IconName.js.map +1 -1
  71. package/lib/ui-kit/YandexMap/YandexMap.d.ts +1 -1
  72. package/lib/ui-kit/YandexMap/YandexMap.js +2 -2
  73. package/lib/ui-kit/YandexMap/YandexMap.js.map +1 -1
  74. package/lib/ui-kit/YandexMap/renderClusterer.d.ts +5 -1
  75. package/lib/ui-kit/YandexMap/renderClusterer.js +32 -13
  76. package/lib/ui-kit/YandexMap/renderClusterer.js.map +1 -1
  77. package/mobile/bundle/bundle.umd.js +108 -50
  78. package/mobile/bundle/bundle.umd.min.js +1 -1
  79. package/mobile/bundle/components/OfficesAtmsMap/OfficesAtmsMapLayout.d.ts +5 -2
  80. package/mobile/bundle/components/OfficesAtmsMap/OfficesAtmsMapProps.d.ts +15 -0
  81. package/mobile/bundle/components/OfficesAtmsMap/YandexMapProps.d.ts +1 -0
  82. package/mobile/bundle/components/OfficesAtmsMap/renderDescriptionBlock.d.ts +3 -0
  83. package/mobile/bundle/components/OfficesAtmsMap/renderRemoteWorkplaceCard.d.ts +7 -0
  84. package/mobile/bundle/components/OfficesAtmsMap/useOffices.d.ts +5 -2
  85. package/mobile/bundle/icons/IconName.d.ts +4 -2
  86. package/mobile/bundle/ui-kit/YandexMap/YandexMap.d.ts +1 -1
  87. package/mobile/bundle/ui-kit/YandexMap/renderClusterer.d.ts +5 -1
  88. package/mobile/dist/components/OfficesAtmsMap/OfficesAtmsMapLayout.d.ts +5 -2
  89. package/mobile/dist/components/OfficesAtmsMap/OfficesAtmsMapLayout.js +27 -18
  90. package/mobile/dist/components/OfficesAtmsMap/OfficesAtmsMapLayout.js.map +1 -1
  91. package/mobile/dist/components/OfficesAtmsMap/OfficesAtmsMapProps.d.ts +15 -0
  92. package/mobile/dist/components/OfficesAtmsMap/OfficesMap.js +12 -9
  93. package/mobile/dist/components/OfficesAtmsMap/OfficesMap.js.map +1 -1
  94. package/mobile/dist/components/OfficesAtmsMap/YandexMapProps.d.ts +1 -0
  95. package/mobile/dist/components/OfficesAtmsMap/renderDescriptionBlock.d.ts +3 -0
  96. package/mobile/dist/components/OfficesAtmsMap/renderDescriptionBlock.js +9 -0
  97. package/mobile/dist/components/OfficesAtmsMap/renderDescriptionBlock.js.map +1 -0
  98. package/mobile/dist/components/OfficesAtmsMap/renderFiltrationForm.js +2 -1
  99. package/mobile/dist/components/OfficesAtmsMap/renderFiltrationForm.js.map +1 -1
  100. package/mobile/dist/components/OfficesAtmsMap/renderRemoteWorkplaceCard.d.ts +7 -0
  101. package/mobile/dist/components/OfficesAtmsMap/renderRemoteWorkplaceCard.js +35 -0
  102. package/mobile/dist/components/OfficesAtmsMap/renderRemoteWorkplaceCard.js.map +1 -0
  103. package/mobile/dist/components/OfficesAtmsMap/useOffices.d.ts +5 -2
  104. package/mobile/dist/components/OfficesAtmsMap/useOffices.js +4 -2
  105. package/mobile/dist/components/OfficesAtmsMap/useOffices.js.map +1 -1
  106. package/mobile/dist/icons/IconName.d.ts +4 -2
  107. package/mobile/dist/icons/IconName.js +3 -1
  108. package/mobile/dist/icons/IconName.js.map +1 -1
  109. package/mobile/dist/ui-kit/YandexMap/YandexMap.d.ts +1 -1
  110. package/mobile/dist/ui-kit/YandexMap/YandexMap.js +2 -2
  111. package/mobile/dist/ui-kit/YandexMap/YandexMap.js.map +1 -1
  112. package/mobile/dist/ui-kit/YandexMap/renderClusterer.d.ts +5 -1
  113. package/mobile/dist/ui-kit/YandexMap/renderClusterer.js +33 -14
  114. package/mobile/dist/ui-kit/YandexMap/renderClusterer.js.map +1 -1
  115. package/mobile/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.d.ts +5 -2
  116. package/mobile/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.js +27 -18
  117. package/mobile/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.js.map +1 -1
  118. package/mobile/lib/components/OfficesAtmsMap/OfficesAtmsMapProps.d.ts +15 -0
  119. package/mobile/lib/components/OfficesAtmsMap/OfficesMap.js +12 -9
  120. package/mobile/lib/components/OfficesAtmsMap/OfficesMap.js.map +1 -1
  121. package/mobile/lib/components/OfficesAtmsMap/YandexMapProps.d.ts +1 -0
  122. package/mobile/lib/components/OfficesAtmsMap/renderDescriptionBlock.d.ts +3 -0
  123. package/mobile/lib/components/OfficesAtmsMap/renderDescriptionBlock.js +6 -0
  124. package/mobile/lib/components/OfficesAtmsMap/renderDescriptionBlock.js.map +1 -0
  125. package/mobile/lib/components/OfficesAtmsMap/renderFiltrationForm.js +2 -1
  126. package/mobile/lib/components/OfficesAtmsMap/renderFiltrationForm.js.map +1 -1
  127. package/mobile/lib/components/OfficesAtmsMap/renderRemoteWorkplaceCard.d.ts +7 -0
  128. package/mobile/lib/components/OfficesAtmsMap/renderRemoteWorkplaceCard.js +31 -0
  129. package/mobile/lib/components/OfficesAtmsMap/renderRemoteWorkplaceCard.js.map +1 -0
  130. package/mobile/lib/components/OfficesAtmsMap/useOffices.d.ts +5 -2
  131. package/mobile/lib/components/OfficesAtmsMap/useOffices.js +4 -2
  132. package/mobile/lib/components/OfficesAtmsMap/useOffices.js.map +1 -1
  133. package/mobile/lib/icons/IconName.d.ts +4 -2
  134. package/mobile/lib/icons/IconName.js +3 -1
  135. package/mobile/lib/icons/IconName.js.map +1 -1
  136. package/mobile/lib/ui-kit/YandexMap/YandexMap.d.ts +1 -1
  137. package/mobile/lib/ui-kit/YandexMap/YandexMap.js +2 -2
  138. package/mobile/lib/ui-kit/YandexMap/YandexMap.js.map +1 -1
  139. package/mobile/lib/ui-kit/YandexMap/renderClusterer.d.ts +5 -1
  140. package/mobile/lib/ui-kit/YandexMap/renderClusterer.js +32 -13
  141. package/mobile/lib/ui-kit/YandexMap/renderClusterer.js.map +1 -1
  142. package/mobile/src/components/OfficesAtmsMap/OfficesAtmsMapLayout.tsx +34 -45
  143. package/mobile/src/components/OfficesAtmsMap/OfficesAtmsMapProps.tsx +15 -0
  144. package/mobile/src/components/OfficesAtmsMap/OfficesMap.tsx +28 -12
  145. package/mobile/src/components/OfficesAtmsMap/YandexMapProps.ts +1 -0
  146. package/mobile/src/components/OfficesAtmsMap/renderDescriptionBlock.tsx +29 -0
  147. package/mobile/src/components/OfficesAtmsMap/renderFiltrationForm.tsx +2 -1
  148. package/mobile/src/components/OfficesAtmsMap/renderRemoteWorkplaceCard.tsx +86 -0
  149. package/mobile/src/components/OfficesAtmsMap/useOffices.ts +11 -4
  150. package/mobile/src/icons/IconName.ts +5 -5
  151. package/mobile/src/icons/MapMarkerClusterYellowIcon.svg +1 -0
  152. package/mobile/src/ui-kit/YandexMap/YandexMap.tsx +3 -3
  153. package/mobile/src/ui-kit/YandexMap/renderClusterer.ts +62 -16
  154. package/package.json +1 -1
  155. package/src/components/OfficesAtmsMap/OfficesAtmsMapLayout.tsx +34 -45
  156. package/src/components/OfficesAtmsMap/OfficesAtmsMapProps.tsx +15 -0
  157. package/src/components/OfficesAtmsMap/OfficesMap.tsx +28 -12
  158. package/src/components/OfficesAtmsMap/YandexMapProps.ts +1 -0
  159. package/src/components/OfficesAtmsMap/renderDescriptionBlock.tsx +29 -0
  160. package/src/components/OfficesAtmsMap/renderFiltrationForm.tsx +2 -1
  161. package/src/components/OfficesAtmsMap/renderRemoteWorkplaceCard.tsx +86 -0
  162. package/src/components/OfficesAtmsMap/useOffices.ts +11 -4
  163. package/src/components/ProductGallery/ProductGallery.tsx +37 -7
  164. package/src/icons/IconName.ts +5 -1
  165. package/src/icons/MapMarkerClusterYellowIcon.svg +1 -0
  166. package/src/ui-kit/YandexMap/YandexMap.tsx +3 -3
  167. package/src/ui-kit/YandexMap/renderClusterer.ts +62 -16
@@ -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$1 = 'absolute top-[calc(50%-24px)] z-40';
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$1, arrowsPadded ? 'left-1 m:left-8' : 'left-0'), onClick: handleScrollLeft })) : null, canMoveRight ? (jsx(ScrollRightButton, { className: style(scrollButtonStyle$1, arrowsPadded ? 'right-1 m:right-8' : 'right-0'), onClick: handleScrollRight })) : null] }));
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
- function renderClusterer(yandexMaps, map, points) {
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 clusterer = new yandexMaps.Clusterer({
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: '/icons/MapMarkerClusterIcon.svg',
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
- const geoObjects = points.map(({ coords, content }) => new yandexMaps.Placemark(coords, {
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: '/icons/MapMarkerSingleIcon.svg',
4868
+ iconImageHref: type === 'offices' ? MapMarkerClusterIcon : MapMarkerClusterYellowIcon,
4843
4869
  iconImageSize: [78, 84],
4844
4870
  iconImageOffset: [-35, -50],
4845
4871
  }));
4846
- clusterer.add(geoObjects);
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 = onlyOffice ? 3 : 4;
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 > 0
4969
- ? [filtersCheckbox.slice(0, visibleFiltersNum), filtersCheckbox.slice(visibleFiltersNum)]
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 _points = _filteredItems
4988
- .map((_) => ({
4989
- coords: [Number(_.gpsLatitude), Number(_.gpsLongitude)]?.filter(Boolean),
4990
- content: getBalloon(_),
4991
- }))
4992
- .filter((_) => _.coords && _.coords.length === 2);
4993
- return [_filteredItems, _points, _filteredItems.length];
4994
- }, [data, filtrationState]);
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, setActiveButton) => {
5030
+ const renderButtonsGroup = (data, activeButton, onButtonClick) => {
4999
5031
  const allButtonVersion = activeButton === 'all' ? 'primary' : 'secondary';
5000
5032
  const businessButtonVersion = activeButton === 'business' ? 'primary' : 'secondary';
5001
- const handleOnClick = (e, key, branches) => {
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
- setActiveButton(key);
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) => handleOnClick(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) => handleOnClick(e, 'business', data), version: businessButtonVersion, children: "\u0414\u043B\u044F \u044E\u0440\u0438\u0434\u0438\u0447\u0435\u0441\u043A\u0438\u0445 \u043B\u0438\u0446" })] }));
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/branches?regionCode=${regionCode}`, fetchMap);
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, { method: 'GET' });
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
- sellingCoins: (item) => Boolean(item.sellingCoins),
5301
- buyingCoins: (item) => Boolean(item.buyingCoins),
5302
- bullionOperations: (item) => Boolean(item.bullionOperations),
5303
- preciousMetalsOperations: (item) => Boolean(item.preciousMetalsOperations),
5304
- transferringDataToBiometricSystem: (item) => Boolean(item.transferringDataToBiometricSystem),
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 ProductGallery = JSX(({ className = '', padding, slides = [], ...rest }) => {
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
- return (jsxs(BlockWrapper, { className: style('box-border overflow-hidden', className), defaultPadding: "py-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)))) }), jsx("div", { className: "h-28 px-xs mt-m -mb-m flex gap-xs box-border", children: slides.map(renderNavButton({ activeSlideIndex, onClick: setActiveSlideIndex })) })] }));
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:py-xl backdrop-blur';
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.332";
6245
+ const packageVersion = "0.14.334";
6184
6246
 
6185
6247
  exports.Blocks = Blocks;
6186
6248
  exports.ContentPage = ContentPage;