@redneckz/wildless-cms-uni-blocks 0.14.573 → 0.14.574

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 (107) hide show
  1. package/bundle/bundle.umd.js +73 -61
  2. package/bundle/bundle.umd.min.js +1 -1
  3. package/bundle/components/OfficesAtmsMap/OfficesAtmsMapLayout.d.ts +2 -0
  4. package/bundle/components/OfficesAtmsMap/filters.d.ts +44 -0
  5. package/bundle/components/OfficesAtmsMap/renderButtonsGroup.d.ts +3 -0
  6. package/bundle/components/OfficesAtmsMap/renderFiltrationForm.d.ts +10 -4
  7. package/bundle/components/OfficesAtmsMap/renderHeading.d.ts +2 -0
  8. package/dist/components/OfficesAtmsMap/OfficesAtmsMapLayout.d.ts +2 -0
  9. package/dist/components/OfficesAtmsMap/OfficesAtmsMapLayout.js +21 -25
  10. package/dist/components/OfficesAtmsMap/OfficesAtmsMapLayout.js.map +1 -1
  11. package/dist/components/OfficesAtmsMap/OfficesMap.js +1 -29
  12. package/dist/components/OfficesAtmsMap/OfficesMap.js.map +1 -1
  13. package/dist/components/OfficesAtmsMap/filters.d.ts +44 -0
  14. package/dist/components/OfficesAtmsMap/filters.js +46 -0
  15. package/dist/components/OfficesAtmsMap/filters.js.map +1 -0
  16. package/dist/components/OfficesAtmsMap/renderButtonsGroup.d.ts +3 -0
  17. package/dist/components/OfficesAtmsMap/renderButtonsGroup.js +21 -0
  18. package/dist/components/OfficesAtmsMap/renderButtonsGroup.js.map +1 -0
  19. package/dist/components/OfficesAtmsMap/renderFiltrationForm.d.ts +10 -4
  20. package/dist/components/OfficesAtmsMap/renderFiltrationForm.js +2 -21
  21. package/dist/components/OfficesAtmsMap/renderFiltrationForm.js.map +1 -1
  22. package/dist/components/OfficesAtmsMap/renderHeading.d.ts +2 -0
  23. package/dist/components/OfficesAtmsMap/renderHeading.js +8 -0
  24. package/dist/components/OfficesAtmsMap/renderHeading.js.map +1 -0
  25. package/dist/ui-kit/YandexMap/renderClusterer.js +4 -1
  26. package/dist/ui-kit/YandexMap/renderClusterer.js.map +1 -1
  27. package/lib/common.css +1 -1
  28. package/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.d.ts +2 -0
  29. package/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.js +16 -22
  30. package/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.js.map +1 -1
  31. package/lib/components/OfficesAtmsMap/OfficesMap.js +1 -29
  32. package/lib/components/OfficesAtmsMap/OfficesMap.js.map +1 -1
  33. package/lib/components/OfficesAtmsMap/filters.d.ts +44 -0
  34. package/lib/components/OfficesAtmsMap/filters.js +44 -0
  35. package/lib/components/OfficesAtmsMap/filters.js.map +1 -0
  36. package/lib/components/OfficesAtmsMap/renderButtonsGroup.d.ts +2 -0
  37. package/lib/components/OfficesAtmsMap/renderButtonsGroup.js +18 -0
  38. package/lib/components/OfficesAtmsMap/renderButtonsGroup.js.map +1 -0
  39. package/lib/components/OfficesAtmsMap/renderFiltrationForm.d.ts +10 -4
  40. package/lib/components/OfficesAtmsMap/renderFiltrationForm.js +2 -21
  41. package/lib/components/OfficesAtmsMap/renderFiltrationForm.js.map +1 -1
  42. package/lib/components/OfficesAtmsMap/renderHeading.d.ts +1 -0
  43. package/lib/components/OfficesAtmsMap/renderHeading.js +5 -0
  44. package/lib/components/OfficesAtmsMap/renderHeading.js.map +1 -0
  45. package/lib/ui-kit/YandexMap/renderClusterer.js +4 -1
  46. package/lib/ui-kit/YandexMap/renderClusterer.js.map +1 -1
  47. package/mobile/bundle/bundle.umd.js +73 -61
  48. package/mobile/bundle/bundle.umd.min.js +1 -1
  49. package/mobile/bundle/components/OfficesAtmsMap/OfficesAtmsMapLayout.d.ts +2 -0
  50. package/mobile/bundle/components/OfficesAtmsMap/filters.d.ts +44 -0
  51. package/mobile/bundle/components/OfficesAtmsMap/renderButtonsGroup.d.ts +3 -0
  52. package/mobile/bundle/components/OfficesAtmsMap/renderFiltrationForm.d.ts +10 -4
  53. package/mobile/bundle/components/OfficesAtmsMap/renderHeading.d.ts +2 -0
  54. package/mobile/dist/components/OfficesAtmsMap/OfficesAtmsMapLayout.d.ts +2 -0
  55. package/mobile/dist/components/OfficesAtmsMap/OfficesAtmsMapLayout.js +21 -25
  56. package/mobile/dist/components/OfficesAtmsMap/OfficesAtmsMapLayout.js.map +1 -1
  57. package/mobile/dist/components/OfficesAtmsMap/OfficesMap.js +1 -29
  58. package/mobile/dist/components/OfficesAtmsMap/OfficesMap.js.map +1 -1
  59. package/mobile/dist/components/OfficesAtmsMap/filters.d.ts +44 -0
  60. package/mobile/dist/components/OfficesAtmsMap/filters.js +46 -0
  61. package/mobile/dist/components/OfficesAtmsMap/filters.js.map +1 -0
  62. package/mobile/dist/components/OfficesAtmsMap/renderButtonsGroup.d.ts +3 -0
  63. package/mobile/dist/components/OfficesAtmsMap/renderButtonsGroup.js +21 -0
  64. package/mobile/dist/components/OfficesAtmsMap/renderButtonsGroup.js.map +1 -0
  65. package/mobile/dist/components/OfficesAtmsMap/renderFiltrationForm.d.ts +10 -4
  66. package/mobile/dist/components/OfficesAtmsMap/renderFiltrationForm.js +2 -21
  67. package/mobile/dist/components/OfficesAtmsMap/renderFiltrationForm.js.map +1 -1
  68. package/mobile/dist/components/OfficesAtmsMap/renderHeading.d.ts +2 -0
  69. package/mobile/dist/components/OfficesAtmsMap/renderHeading.js +8 -0
  70. package/mobile/dist/components/OfficesAtmsMap/renderHeading.js.map +1 -0
  71. package/mobile/dist/ui-kit/YandexMap/renderClusterer.js +4 -1
  72. package/mobile/dist/ui-kit/YandexMap/renderClusterer.js.map +1 -1
  73. package/mobile/lib/common.css +1 -1
  74. package/mobile/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.d.ts +2 -0
  75. package/mobile/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.js +16 -22
  76. package/mobile/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.js.map +1 -1
  77. package/mobile/lib/components/OfficesAtmsMap/OfficesMap.js +1 -29
  78. package/mobile/lib/components/OfficesAtmsMap/OfficesMap.js.map +1 -1
  79. package/mobile/lib/components/OfficesAtmsMap/filters.d.ts +44 -0
  80. package/mobile/lib/components/OfficesAtmsMap/filters.js +44 -0
  81. package/mobile/lib/components/OfficesAtmsMap/filters.js.map +1 -0
  82. package/mobile/lib/components/OfficesAtmsMap/renderButtonsGroup.d.ts +3 -0
  83. package/mobile/lib/components/OfficesAtmsMap/renderButtonsGroup.js +18 -0
  84. package/mobile/lib/components/OfficesAtmsMap/renderButtonsGroup.js.map +1 -0
  85. package/mobile/lib/components/OfficesAtmsMap/renderFiltrationForm.d.ts +10 -4
  86. package/mobile/lib/components/OfficesAtmsMap/renderFiltrationForm.js +2 -21
  87. package/mobile/lib/components/OfficesAtmsMap/renderFiltrationForm.js.map +1 -1
  88. package/mobile/lib/components/OfficesAtmsMap/renderHeading.d.ts +2 -0
  89. package/mobile/lib/components/OfficesAtmsMap/renderHeading.js +5 -0
  90. package/mobile/lib/components/OfficesAtmsMap/renderHeading.js.map +1 -0
  91. package/mobile/lib/ui-kit/YandexMap/renderClusterer.js +4 -1
  92. package/mobile/lib/ui-kit/YandexMap/renderClusterer.js.map +1 -1
  93. package/mobile/src/components/OfficesAtmsMap/OfficesAtmsMapLayout.tsx +22 -58
  94. package/mobile/src/components/OfficesAtmsMap/OfficesMap.tsx +0 -47
  95. package/mobile/src/components/OfficesAtmsMap/filters.ts +56 -0
  96. package/mobile/src/components/OfficesAtmsMap/renderButtonsGroup.tsx +43 -0
  97. package/mobile/src/components/OfficesAtmsMap/renderFiltrationForm.tsx +14 -26
  98. package/mobile/src/components/OfficesAtmsMap/renderHeading.tsx +15 -0
  99. package/mobile/src/ui-kit/YandexMap/renderClusterer.ts +6 -2
  100. package/package.json +1 -1
  101. package/src/components/OfficesAtmsMap/OfficesAtmsMapLayout.tsx +22 -58
  102. package/src/components/OfficesAtmsMap/OfficesMap.tsx +0 -47
  103. package/src/components/OfficesAtmsMap/filters.ts +56 -0
  104. package/src/components/OfficesAtmsMap/renderButtonsGroup.tsx +43 -0
  105. package/src/components/OfficesAtmsMap/renderFiltrationForm.tsx +14 -26
  106. package/src/components/OfficesAtmsMap/renderHeading.tsx +15 -0
  107. package/src/ui-kit/YandexMap/renderClusterer.ts +6 -2
@@ -5324,10 +5324,13 @@
5324
5324
  const MapMarkerClusterIcon = '/icons/MapMarkerClusterIcon.svg';
5325
5325
  const MapMarkerClusterYellowIcon = '/icons/MapMarkerClusterYellowIcon.svg';
5326
5326
  function renderClusterer({ yandexMaps, map, points, isLoad, }) {
5327
- if (isLoad || !points?.length) {
5327
+ if (isLoad || !points) {
5328
5328
  return;
5329
5329
  }
5330
5330
  map.geoObjects.removeAll();
5331
+ if (!points.length) {
5332
+ return;
5333
+ }
5331
5334
  const clusterIconContentLayout = yandexMaps.templateLayoutFactory.createClass('<div style="margin-top: -3px;">{{properties.geoObjects.length}}</div>');
5332
5335
  const officeClusterer = defineClusterer('offices', yandexMaps, clusterIconContentLayout);
5333
5336
  if (points.length && points.every((_) => 'type' in _)) {
@@ -5474,8 +5477,18 @@
5474
5477
  const mapByIndex = (points, index) => points.map((_) => _.coords?.[index]);
5475
5478
  const getArraySumAndAverage = (arr) => arr.length && arr.reduce((a, b) => a + b) / arr.length;
5476
5479
 
5477
- const renderDescriptionBlock$1 = ({ __html, list, richVersion }) => __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, richVersion: richVersion }) })) : 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;
5478
-
5480
+ const INITIAL_FILTRATION_STATE$1 = {
5481
+ workingSaturday: false,
5482
+ premiumService: false,
5483
+ privateBanking: false,
5484
+ remoteWorkplace: false,
5485
+ serviceDisabledPeople: false,
5486
+ sellingCoins: false,
5487
+ buyingCoins: false,
5488
+ bullionOperations: false,
5489
+ preciousMetalsOperations: false,
5490
+ transferringDataToBiometricSystem: false,
5491
+ };
5479
5492
  const FILTRATION_LABELS = {
5480
5493
  safeBoxCaseVolumes: 'Аренда индивидуальных сейфовых ячеек',
5481
5494
  workingSaturday: 'Открыты по субботам',
@@ -5495,10 +5508,40 @@
5495
5508
  remoteWorkplace: 'Удаленное рабочее место',
5496
5509
  serviceDisabledPeople: 'Для маломобильных граждан',
5497
5510
  };
5511
+ const FILTRATION_PREDICATES$1 = {
5512
+ workingSaturday: (item) => Boolean('workSchedule' in item && item.workSchedule?.workingSaturday),
5513
+ premiumService: (item) => Boolean('premiumService' in item && item.premiumService),
5514
+ privateBanking: (item) => Boolean('privateBanking' in item && item.privateBanking),
5515
+ remoteWorkplace: (item) => Boolean('workScheduleDescription' in item),
5516
+ serviceDisabledPeople: (item) => Boolean('serviceDisabledPeople' in item && item.serviceDisabledPeople),
5517
+ sellingCoins: (item) => Boolean('sellingCoins' in item && item.sellingCoins),
5518
+ buyingCoins: (item) => Boolean('buyingCoins' in item && item.buyingCoins),
5519
+ bullionOperations: (item) => Boolean('bullionOperations' in item && item.bullionOperations),
5520
+ preciousMetalsOperations: (item) => Boolean('preciousMetalsOperations' in item && item.preciousMetalsOperations),
5521
+ transferringDataToBiometricSystem: (item) => Boolean('transferringDataToBiometricSystem' in item && item.transferringDataToBiometricSystem),
5522
+ };
5523
+
5524
+ const renderButtonsGroup = (data, activeButton, onButtonClick) => {
5525
+ const allButtonVersion = getVersion(activeButton === 'all');
5526
+ const businessButtonVersion = getVersion(activeButton === 'business');
5527
+ const handleClick = (e, key, branches) => {
5528
+ if (e.currentTarget === e.target && key === 'business') {
5529
+ branches.filter((branch) => branch.workSchedule &&
5530
+ branch.workSchedule.businessScheduleVisibleTag &&
5531
+ !branch.workSchedule.businessScheduleDescription);
5532
+ }
5533
+ onButtonClick(key);
5534
+ return branches;
5535
+ };
5536
+ 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" })] }));
5537
+ };
5538
+
5539
+ const renderDescriptionBlock$1 = ({ __html, list, richVersion }) => __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, richVersion: richVersion }) })) : 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;
5540
+
5498
5541
  const COMMON_FILTERS_STYLES = 'flex flex-col sm:flex-row sm:flex-wrap gap-3xl pb-2xl';
5499
- const renderFiltrationForm = (filters, { field, reset }, onlyOffice) => {
5542
+ const renderFiltrationForm = ({ filters, field: { field, reset }, onlyOffice, labels, }) => {
5500
5543
  const visibleFiltersNum = onlyOffice ? 5 : 6;
5501
- const filtersCheckbox = (filters || []).map((key) => (jsx(Checkbox, { text: FILTRATION_LABELS[key], ...field(key) }, key)));
5544
+ const filtersCheckbox = (filters || []).map((key) => (jsx(Checkbox, { text: labels[key], ...field(key) }, key)));
5502
5545
  const [visibleFilters, hiddenFilters] = visibleFiltersNum > 0
5503
5546
  ? [filtersCheckbox.slice(0, visibleFiltersNum), filtersCheckbox.slice(visibleFiltersNum)]
5504
5547
  : [filtersCheckbox, []];
@@ -5511,15 +5554,16 @@
5511
5554
  };
5512
5555
  const renderBtnInner = () => (jsxs("div", { className: "flex items-center", children: ["\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0444\u0438\u043B\u044C\u0442\u0440", jsx(Icon, { name: "CloseIcon", width: "16", height: "16", className: "ml-2xs" })] }));
5513
5556
 
5557
+ const renderHeading = (title, lengthItems) => (jsx("div", { className: "flex flex-col sm:flex-row gap-xs mb-2xl", children: jsxs(Heading, { headingType: "h3", children: [jsx("span", { suppressHydrationWarning: true, children: title }), lengthItems ? (jsx(Text, { size: "text-h2", color: "text-secondary-text", children: jsx("span", { suppressHydrationWarning: true, children: ` (${lengthItems})` }) })) : null] }) }));
5558
+
5514
5559
  const defaultEmptyFunction = () => void 0;
5515
- const defaultFilterItems = () => [];
5516
5560
  const filtersVisibleStyles = (activeButton) => activeButton === 'all' ? 'block' : 'hidden';
5517
- const OfficesAtmsMapLayout = JSX(({ className, data = [], isLoad, remoteWorkplaces = [], renderCard = defaultEmptyFunction, renderRemoteWorkplaceCard = defaultEmptyFunction, filterItems = defaultFilterItems, getBalloon = defaultEmptyFunction, getBalloonRemoteWorkplaces = defaultEmptyFunction, initFilterState = {}, descriptionData, title, }) => {
5561
+ const OfficesAtmsMapLayout = JSX(({ className, data = [], isLoad, remoteWorkplaces = [], renderCard = defaultEmptyFunction, renderRemoteWorkplaceCard = defaultEmptyFunction, getBalloon = defaultEmptyFunction, getBalloonRemoteWorkplaces = defaultEmptyFunction, descriptionData, title, }) => {
5518
5562
  const onlyOffice = title?.includes('Офис');
5519
- const [filtrationState, { field, reset }] = useForm(initFilterState);
5563
+ const [filtrationState, { field, reset }] = useForm(INITIAL_FILTRATION_STATE$1);
5520
5564
  const [filteredItems, points, filteredRemoteWorkplaces, lengthItems] = useMemo(() => {
5521
- const _filteredItems = filterItems(data, filtrationState);
5522
- const _filteredRemoteWorkplaces = filterItems(remoteWorkplaces, filtrationState);
5565
+ const _filteredItems = filterItems$1(data, filtrationState);
5566
+ const _filteredRemoteWorkplaces = filterItems$1(remoteWorkplaces, filtrationState);
5523
5567
  const _points = [
5524
5568
  ..._filteredItems.map((_) => ({
5525
5569
  type: 'offices',
@@ -5539,23 +5583,19 @@
5539
5583
  return [_filteredItems, _points, _filteredRemoteWorkplaces, itemsLength];
5540
5584
  }, [data, remoteWorkplaces, filtrationState]);
5541
5585
  const [activeButton, setActiveButton] = useState('all');
5542
- return (jsxs("div", { className: style('space-y-1', className), children: [jsxs("div", { className: "bg-white", children: [jsxs("div", { className: "p-3xl pb-0", children: [renderHeading(title, lengthItems), descriptionData ? renderDescriptionBlock$1(descriptionData) : null, onlyOffice && renderButtonsGroup(data, activeButton, setActiveButton), jsx("div", { className: style('pb-3xl', filtersVisibleStyles(activeButton)), children: renderFiltrationForm(Object.keys(initFilterState), { field, reset }, onlyOffice) })] }), jsx("div", { className: "h-[600px]", children: jsx(ClientOnly, { children: jsx(YandexMap, { points: points, isLoad: isLoad, className: "h-full" }) }) })] }), jsxs(ClientOnly, { children: [filteredItems.map(renderCard), filteredRemoteWorkplaces.map(renderRemoteWorkplaceCard)] })] }));
5543
- });
5544
- const renderHeading = (title, lengthItems) => (jsx("div", { className: "flex flex-col sm:flex-row gap-xs mb-2xl", children: jsxs(Heading, { headingType: "h3", children: [jsx("span", { suppressHydrationWarning: true, children: title }), lengthItems ? (jsx(Text, { size: "text-h2", color: "text-secondary-text", children: jsx("span", { suppressHydrationWarning: true, children: ` (${lengthItems})` }) })) : null] }) }));
5545
- const renderButtonsGroup = (data, activeButton, onButtonClick) => {
5546
- const allButtonVersion = getVersion(activeButton === 'all');
5547
- const businessButtonVersion = getVersion(activeButton === 'business');
5548
- const handleClick = (e, key, branches) => {
5549
- if (e.currentTarget === e.target && key === 'business') {
5550
- branches.filter((branch) => branch.workSchedule &&
5551
- branch.workSchedule.businessScheduleVisibleTag &&
5552
- !branch.workSchedule.businessScheduleDescription);
5553
- }
5554
- onButtonClick(key);
5555
- return branches;
5586
+ const filterOptions = {
5587
+ filters: getFiltersWithNonEmptyData([...data, ...remoteWorkplaces]),
5588
+ field: { field, reset },
5589
+ onlyOffice,
5590
+ labels: FILTRATION_LABELS,
5556
5591
  };
5557
- 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" })] }));
5592
+ return (jsxs("div", { className: style('space-y-1', className), children: [jsxs("div", { className: "bg-white", children: [jsxs("div", { className: "p-3xl pb-0", children: [renderHeading(title, lengthItems), descriptionData ? renderDescriptionBlock$1(descriptionData) : null, onlyOffice && renderButtonsGroup(data, activeButton, setActiveButton), jsx("div", { className: style('pb-3xl', filtersVisibleStyles(activeButton)), children: renderFiltrationForm(filterOptions) })] }), jsx("div", { className: "h-[600px]", children: jsx(ClientOnly, { children: jsx(YandexMap, { points: points, isLoad: isLoad, className: "h-full" }) }) })] }), jsxs(ClientOnly, { children: [filteredItems.map(renderCard), filteredRemoteWorkplaces.map(renderRemoteWorkplaceCard)] })] }));
5593
+ });
5594
+ const filterItems$1 = (data, filtrationState) => {
5595
+ const truthyFilters = Object.keys(filtrationState).filter((key) => filtrationState[key]);
5596
+ return data.filter((item) => truthyFilters.every((_) => FILTRATION_PREDICATES$1[_](item)));
5558
5597
  };
5598
+ const getFiltersWithNonEmptyData = (data) => Object.keys(INITIAL_FILTRATION_STATE$1).filter((_) => data.filter((item) => FILTRATION_PREDICATES$1[_](item)).length);
5559
5599
 
5560
5600
  const colorStyle = {
5561
5601
  yellow: { border: 'border-yellow-light', text: 'text-yellow' },
@@ -5624,7 +5664,7 @@
5624
5664
  return Array.isArray(result) ? result : EMPTY_VALUE$2;
5625
5665
  };
5626
5666
 
5627
- const INITIAL_FILTRATION_STATE$1 = {
5667
+ const INITIAL_FILTRATION_STATE = {
5628
5668
  terminalTypeAtms: true,
5629
5669
  terminalTypeTerm: false,
5630
5670
  workAllTime: false,
@@ -5632,7 +5672,7 @@
5632
5672
  locationDisabledPeople: false,
5633
5673
  designDisabledPeople: false,
5634
5674
  };
5635
- const FILTRATION_PREDICATES$1 = {
5675
+ const FILTRATION_PREDICATES = {
5636
5676
  terminalTypeAtms: (item) => item.terminalType?.toLowerCase() === 'банкомат',
5637
5677
  terminalTypeTerm: (item) => item.terminalType?.toLowerCase() === 'терминал',
5638
5678
  workAllTime: (item) => item.workTime?.toLowerCase() === 'круглосуточно',
@@ -5644,16 +5684,16 @@
5644
5684
  const [currentLocation] = useLocation();
5645
5685
  const regionCode = currentLocation?.code ?? '000';
5646
5686
  const { data: officesData, isLoad } = useAtms(regionCode);
5647
- return (jsx(OfficesAtmsMapLayout, { className: className, filterItems: filterItems$1, data: officesData, isLoad: isLoad, initFilterState: INITIAL_FILTRATION_STATE$1, renderCard: renderAtmCard, getBalloon: getAtmPoint, title: `Банкоматы филиала ${currentLocation?.name}`, descriptionData: descriptionData }));
5687
+ return (jsx(OfficesAtmsMapLayout, { className: className, filterItems: filterItems, data: officesData, isLoad: isLoad, initFilterState: INITIAL_FILTRATION_STATE, renderCard: renderAtmCard, getBalloon: getAtmPoint, title: `Банкоматы филиала ${currentLocation?.name}`, descriptionData: descriptionData }));
5648
5688
  });
5649
- const filterItems$1 = (data, filtrationState) => {
5689
+ const filterItems = (data, filtrationState) => {
5650
5690
  const truthyFilters = Object.keys(filtrationState).filter((key) => filtrationState[key]);
5651
5691
  const filtersOR = truthyFilters.filter((_) => _.startsWith('terminalType'));
5652
5692
  const filtersAND = truthyFilters.filter((_) => !filtersOR.includes(_));
5653
5693
  return data.filter((item) => {
5654
- const resultAND = filtersAND.every((_) => FILTRATION_PREDICATES$1[_](item));
5694
+ const resultAND = filtersAND.every((_) => FILTRATION_PREDICATES[_](item));
5655
5695
  const resultOR = filtersOR.length
5656
- ? filtersOR.some((_) => FILTRATION_PREDICATES$1[_](item))
5696
+ ? filtersOR.some((_) => FILTRATION_PREDICATES[_](item))
5657
5697
  : true;
5658
5698
  return resultAND && resultOR;
5659
5699
  });
@@ -5859,40 +5899,12 @@
5859
5899
  return result || EMPTY_VALUE$1;
5860
5900
  };
5861
5901
 
5862
- const INITIAL_FILTRATION_STATE = {
5863
- workingSaturday: false,
5864
- premiumService: false,
5865
- privateBanking: false,
5866
- remoteWorkplace: false,
5867
- serviceDisabledPeople: false,
5868
- sellingCoins: false,
5869
- buyingCoins: false,
5870
- bullionOperations: false,
5871
- preciousMetalsOperations: false,
5872
- transferringDataToBiometricSystem: false,
5873
- };
5874
- const FILTRATION_PREDICATES = {
5875
- workingSaturday: (item) => Boolean('workSchedule' in item && item.workSchedule?.workingSaturday),
5876
- premiumService: (item) => Boolean('premiumService' in item && item.premiumService),
5877
- privateBanking: (item) => Boolean('privateBanking' in item && item.privateBanking),
5878
- remoteWorkplace: (item) => Boolean('workScheduleDescription' in item),
5879
- serviceDisabledPeople: (item) => Boolean('serviceDisabledPeople' in item && item.serviceDisabledPeople),
5880
- sellingCoins: (item) => Boolean('sellingCoins' in item && item.sellingCoins),
5881
- buyingCoins: (item) => Boolean('buyingCoins' in item && item.buyingCoins),
5882
- bullionOperations: (item) => Boolean('bullionOperations' in item && item.bullionOperations),
5883
- preciousMetalsOperations: (item) => Boolean('preciousMetalsOperations' in item && item.preciousMetalsOperations),
5884
- transferringDataToBiometricSystem: (item) => Boolean('transferringDataToBiometricSystem' in item && item.transferringDataToBiometricSystem),
5885
- };
5886
5902
  const OfficesMap = JSX(({ className }) => {
5887
5903
  const [currentLocation] = useLocation();
5888
5904
  const regionCode = currentLocation?.code ?? '000';
5889
5905
  const { data, isLoad } = useOffices(regionCode);
5890
- return (jsx(OfficesAtmsMapLayout, { className: className, filterItems: filterItems, data: data?.branches, isLoad: isLoad, remoteWorkplaces: data?.remoteWorkplaces, initFilterState: INITIAL_FILTRATION_STATE, renderCard: renderOfficeCard, renderRemoteWorkplaceCard: renderRemoteWorkplaceCard, getBalloon: getOfficePoint, getBalloonRemoteWorkplaces: getRemoteWorkplacePoint, title: `Офисы филиала ${currentLocation?.name}` }));
5906
+ return (jsx(OfficesAtmsMapLayout, { className: className, data: data?.branches, isLoad: isLoad, remoteWorkplaces: data?.remoteWorkplaces, renderCard: renderOfficeCard, renderRemoteWorkplaceCard: renderRemoteWorkplaceCard, getBalloon: getOfficePoint, getBalloonRemoteWorkplaces: getRemoteWorkplacePoint, title: `Офисы филиала ${currentLocation?.name}` }));
5891
5907
  });
5892
- const filterItems = (data, filtrationState) => {
5893
- const truthyFilters = Object.keys(filtrationState).filter((key) => filtrationState[key]);
5894
- return data.filter((item) => truthyFilters.every((_) => FILTRATION_PREDICATES[_](item)));
5895
- };
5896
5908
 
5897
5909
  const OfficesAtmsMap = JSX(({ data, className, ...rest }) => {
5898
5910
  const dataType = data?.dataType ?? 'offices';
@@ -6682,7 +6694,7 @@
6682
6694
  slots: () => [HEADER_SLOT, FOOTER_SLOT, STICKY_FOOTER_SLOT],
6683
6695
  });
6684
6696
 
6685
- const packageVersion = "0.14.572";
6697
+ const packageVersion = "0.14.573";
6686
6698
 
6687
6699
  exports.Blocks = Blocks;
6688
6700
  exports.ContentPage = ContentPage;