@redneckz/wildless-cms-uni-blocks 0.14.2 → 0.14.3

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 (137) hide show
  1. package/bundle/bundle.umd.js +17 -16
  2. package/bundle/bundle.umd.min.js +1 -1
  3. package/bundle/ui-kit/ClientOnly.d.ts +1 -0
  4. package/bundle/ui-kit/SwipeListControl/SwipeListControlDots.d.ts +1 -0
  5. package/bundle/ui-kit/SwipeListControl/isShowDots.d.ts +1 -0
  6. package/bundle/ui-kit/SwipeListControl/isShowDots.mobile.d.ts +1 -0
  7. package/dist/components/Carousel/Carousel.js +1 -1
  8. package/dist/components/Carousel/Carousel.js.map +1 -1
  9. package/dist/components/ContentPage/ContentPage.js +1 -1
  10. package/dist/components/ContentPage/ContentPage.js.map +1 -1
  11. package/dist/components/Footer/Contacts.js +1 -1
  12. package/dist/components/OfficesAtmsMap/OfficesAtmsMap.js +4 -9
  13. package/dist/components/OfficesAtmsMap/OfficesAtmsMap.js.map +1 -1
  14. package/dist/components/StickyBottomMenu/RenderMenuItems.js +1 -2
  15. package/dist/components/StickyBottomMenu/RenderMenuItems.js.map +1 -1
  16. package/dist/components/StickyBottomMenu/StickyBottomMenu.mobile.js +2 -2
  17. package/dist/components/StickyBottomMenu/StickyBottomMenu.mobile.js.map +1 -1
  18. package/dist/ui-kit/ClientOnly.d.ts +1 -0
  19. package/dist/ui-kit/ClientOnly.js +7 -0
  20. package/dist/ui-kit/ClientOnly.js.map +1 -0
  21. package/dist/ui-kit/SwipeListControl/SwipeListControl.js +2 -1
  22. package/dist/ui-kit/SwipeListControl/SwipeListControl.js.map +1 -1
  23. package/dist/ui-kit/SwipeListControl/SwipeListControlDots.d.ts +1 -0
  24. package/dist/ui-kit/SwipeListControl/SwipeListControlDots.js +2 -2
  25. package/dist/ui-kit/SwipeListControl/SwipeListControlDots.js.map +1 -1
  26. package/dist/ui-kit/SwipeListControl/isShowDots.d.ts +1 -0
  27. package/dist/ui-kit/SwipeListControl/isShowDots.js +4 -0
  28. package/dist/ui-kit/SwipeListControl/isShowDots.js.map +1 -0
  29. package/dist/ui-kit/SwipeListControl/isShowDots.mobile.d.ts +1 -0
  30. package/dist/ui-kit/SwipeListControl/isShowDots.mobile.js +4 -0
  31. package/dist/ui-kit/SwipeListControl/isShowDots.mobile.js.map +1 -0
  32. package/lib/components/Carousel/Carousel.js +1 -1
  33. package/lib/components/Carousel/Carousel.js.map +1 -1
  34. package/lib/components/ContentPage/ContentPage.js +1 -1
  35. package/lib/components/ContentPage/ContentPage.js.map +1 -1
  36. package/lib/components/Footer/Contacts.js +1 -1
  37. package/lib/components/OfficesAtmsMap/OfficesAtmsMap.js +4 -9
  38. package/lib/components/OfficesAtmsMap/OfficesAtmsMap.js.map +1 -1
  39. package/lib/components/StickyBottomMenu/RenderMenuItems.js +1 -2
  40. package/lib/components/StickyBottomMenu/RenderMenuItems.js.map +1 -1
  41. package/lib/components/StickyBottomMenu/StickyBottomMenu.mobile.js +3 -3
  42. package/lib/components/StickyBottomMenu/StickyBottomMenu.mobile.js.map +1 -1
  43. package/lib/components/SwipeListControlBlock/SwipeListControlBlock.fixture.d.ts +1 -0
  44. package/lib/components/SwipeListControlBlock/SwipeListControlBlock.fixture.mobile.d.ts +8 -0
  45. package/lib/ui-kit/ClientOnly.d.ts +1 -0
  46. package/lib/ui-kit/ClientOnly.js +5 -0
  47. package/lib/ui-kit/ClientOnly.js.map +1 -0
  48. package/lib/ui-kit/SwipeListControl/SwipeListControl.js +2 -1
  49. package/lib/ui-kit/SwipeListControl/SwipeListControl.js.map +1 -1
  50. package/lib/ui-kit/SwipeListControl/SwipeListControlDots.d.ts +1 -0
  51. package/lib/ui-kit/SwipeListControl/SwipeListControlDots.js +2 -2
  52. package/lib/ui-kit/SwipeListControl/SwipeListControlDots.js.map +1 -1
  53. package/lib/ui-kit/SwipeListControl/isShowDots.d.ts +1 -0
  54. package/lib/ui-kit/SwipeListControl/isShowDots.js +2 -0
  55. package/lib/ui-kit/SwipeListControl/isShowDots.js.map +1 -0
  56. package/lib/ui-kit/SwipeListControl/isShowDots.mobile.d.ts +1 -0
  57. package/lib/ui-kit/SwipeListControl/isShowDots.mobile.js +2 -0
  58. package/lib/ui-kit/SwipeListControl/isShowDots.mobile.js.map +1 -0
  59. package/mobile/bundle/bundle.umd.js +32 -30
  60. package/mobile/bundle/bundle.umd.min.js +1 -1
  61. package/mobile/bundle/ui-kit/ClientOnly.d.ts +1 -0
  62. package/mobile/bundle/ui-kit/SwipeListControl/SwipeListControlDots.d.ts +1 -0
  63. package/mobile/bundle/ui-kit/SwipeListControl/isShowDots.d.ts +1 -0
  64. package/mobile/dist/components/Carousel/Carousel.js +1 -1
  65. package/mobile/dist/components/Carousel/Carousel.js.map +1 -1
  66. package/mobile/dist/components/ContentPage/ContentPage.js +1 -1
  67. package/mobile/dist/components/ContentPage/ContentPage.js.map +1 -1
  68. package/mobile/dist/components/Footer/Contacts.js +1 -1
  69. package/mobile/dist/components/OfficesAtmsMap/OfficesAtmsMap.js +4 -9
  70. package/mobile/dist/components/OfficesAtmsMap/OfficesAtmsMap.js.map +1 -1
  71. package/mobile/dist/components/StickyBottomMenu/RenderMenuItems.js +1 -2
  72. package/mobile/dist/components/StickyBottomMenu/RenderMenuItems.js.map +1 -1
  73. package/mobile/dist/components/StickyBottomMenu/StickyBottomMenu.js +2 -2
  74. package/mobile/dist/components/StickyBottomMenu/StickyBottomMenu.js.map +1 -1
  75. package/mobile/dist/ui-kit/ClientOnly.d.ts +1 -0
  76. package/mobile/dist/ui-kit/ClientOnly.js +7 -0
  77. package/mobile/dist/ui-kit/ClientOnly.js.map +1 -0
  78. package/mobile/dist/ui-kit/SwipeListControl/SwipeListControl.js +2 -1
  79. package/mobile/dist/ui-kit/SwipeListControl/SwipeListControl.js.map +1 -1
  80. package/mobile/dist/ui-kit/SwipeListControl/SwipeListControlDots.d.ts +1 -0
  81. package/mobile/dist/ui-kit/SwipeListControl/SwipeListControlDots.js +2 -2
  82. package/mobile/dist/ui-kit/SwipeListControl/SwipeListControlDots.js.map +1 -1
  83. package/mobile/dist/ui-kit/SwipeListControl/isShowDots.d.ts +1 -0
  84. package/mobile/dist/ui-kit/SwipeListControl/isShowDots.js +4 -0
  85. package/mobile/dist/ui-kit/SwipeListControl/isShowDots.js.map +1 -0
  86. package/mobile/lib/components/Carousel/Carousel.js +1 -1
  87. package/mobile/lib/components/Carousel/Carousel.js.map +1 -1
  88. package/mobile/lib/components/ContentPage/ContentPage.js +1 -1
  89. package/mobile/lib/components/ContentPage/ContentPage.js.map +1 -1
  90. package/mobile/lib/components/Footer/Contacts.js +1 -1
  91. package/mobile/lib/components/OfficesAtmsMap/OfficesAtmsMap.js +4 -9
  92. package/mobile/lib/components/OfficesAtmsMap/OfficesAtmsMap.js.map +1 -1
  93. package/mobile/lib/components/StickyBottomMenu/RenderMenuItems.js +1 -2
  94. package/mobile/lib/components/StickyBottomMenu/RenderMenuItems.js.map +1 -1
  95. package/mobile/lib/components/StickyBottomMenu/StickyBottomMenu.js +3 -3
  96. package/mobile/lib/components/StickyBottomMenu/StickyBottomMenu.js.map +1 -1
  97. package/mobile/lib/ui-kit/ClientOnly.d.ts +1 -0
  98. package/mobile/lib/ui-kit/ClientOnly.js +5 -0
  99. package/mobile/lib/ui-kit/ClientOnly.js.map +1 -0
  100. package/mobile/lib/ui-kit/SwipeListControl/SwipeListControl.js +2 -1
  101. package/mobile/lib/ui-kit/SwipeListControl/SwipeListControl.js.map +1 -1
  102. package/mobile/lib/ui-kit/SwipeListControl/SwipeListControlDots.d.ts +1 -0
  103. package/mobile/lib/ui-kit/SwipeListControl/SwipeListControlDots.js +2 -2
  104. package/mobile/lib/ui-kit/SwipeListControl/SwipeListControlDots.js.map +1 -1
  105. package/mobile/lib/ui-kit/SwipeListControl/isShowDots.d.ts +1 -0
  106. package/mobile/lib/ui-kit/SwipeListControl/isShowDots.js +2 -0
  107. package/mobile/lib/ui-kit/SwipeListControl/isShowDots.js.map +1 -0
  108. package/mobile/src/components/Carousel/Carousel.tsx +1 -0
  109. package/mobile/src/components/ContentPage/ContentPage.tsx +2 -2
  110. package/mobile/src/components/Footer/Contacts.tsx +1 -1
  111. package/mobile/src/components/OfficesAtmsMap/OfficesAtmsMap.tsx +8 -14
  112. package/mobile/src/components/StickyBottomMenu/RenderMenuItems.tsx +5 -11
  113. package/mobile/src/components/StickyBottomMenu/StickyBottomMenu.tsx +6 -4
  114. package/mobile/src/ui-kit/ClientOnly.tsx +6 -0
  115. package/mobile/src/ui-kit/SwipeListControl/SwipeListControl.tsx +2 -1
  116. package/mobile/src/ui-kit/SwipeListControl/SwipeListControlDots.tsx +11 -2
  117. package/mobile/src/ui-kit/SwipeListControl/isShowDots.tsx +1 -0
  118. package/package.json +1 -1
  119. package/src/components/Carousel/Carousel.tsx +1 -0
  120. package/src/components/ContentPage/ContentPage.tsx +2 -2
  121. package/src/components/Footer/Contacts.tsx +1 -1
  122. package/src/components/OfficesAtmsMap/OfficesAtmsMap.tsx +8 -14
  123. package/src/components/StepsBlock/StepsBlock.fixture.mobile.tsx +1 -1
  124. package/src/components/StepsBlock/StepsBlock.fixture.tsx +1 -1
  125. package/src/components/StickyBottomMenu/RenderMenuItems.tsx +5 -11
  126. package/src/components/StickyBottomMenu/StickyBottomMenu.mobile.tsx +6 -4
  127. package/src/components/SwipeListControlBlock/SwipeListControlBlock.fixture.mobile.tsx +66 -0
  128. package/src/components/SwipeListControlBlock/SwipeListControlBlock.fixture.tsx +19 -0
  129. package/src/ui-kit/Button/Button.fixture.tsx +22 -22
  130. package/src/ui-kit/ClientOnly.tsx +6 -0
  131. package/src/ui-kit/HeaderItem/HeaderItem.fixture.tsx +2 -2
  132. package/src/ui-kit/Logo/Logo.fixture.tsx +1 -1
  133. package/src/ui-kit/SwipeListControl/SwipeListControl.tsx +2 -1
  134. package/src/ui-kit/SwipeListControl/SwipeListControlDots.tsx +11 -2
  135. package/src/ui-kit/SwipeListControl/isShowDots.mobile.tsx +1 -0
  136. package/src/ui-kit/SwipeListControl/isShowDots.tsx +1 -0
  137. package/src/ui-kit/TopItem/TopItem.fixture.tsx +2 -2
@@ -11,7 +11,7 @@ const activeDotStyles = {
11
11
  };
12
12
  const dotStyle = 'cursor-pointer rounded-full transition-width duration-300 bg-primary-main group-data-secondary:bg-white group-data-transparent:bg-white';
13
13
  const inactiveDotStyle = 'w-2 h-2 opacity-30';
14
- export const SwipeListControlDots = JSX(({ containerRef, activeIndex, dotCount = 0, listType = 'horizontal-list', version }) => {
14
+ export const SwipeListControlDots = JSX(({ className = '', containerRef, activeIndex, dotCount = 0, listType = 'horizontal-list', version, }) => {
15
15
  const handleClick = (idx) => {
16
16
  if (idx !== activeIndex && containerRef?.current) {
17
17
  containerRef.current.children[idx]?.scrollIntoView({
@@ -20,6 +20,6 @@ export const SwipeListControlDots = JSX(({ containerRef, activeIndex, dotCount =
20
20
  });
21
21
  }
22
22
  };
23
- return dotCount ? (_jsx("div", { className: style('flex gap-xs @lg:hidden', containerStyles[listType], version ? 'group' : ''), ...(version ? { 'data-ver': version } : {}), children: new Array(dotCount).fill(null).map((_, idx) => (_jsx("div", { className: `${dotStyle} ${idx === activeIndex ? activeDotStyles[listType] : inactiveDotStyle}`, role: "button", "aria-hidden": true, onClick: () => handleClick(idx) }, String(idx)))) })) : null;
23
+ return dotCount ? (_jsx("div", { className: style('flex gap-xs', containerStyles[listType], version ? 'group' : '', className), ...(version ? { 'data-ver': version } : {}), children: new Array(dotCount).fill(null).map((_, idx) => (_jsx("div", { className: `${dotStyle} ${idx === activeIndex ? activeDotStyles[listType] : inactiveDotStyle}`, role: "button", "aria-hidden": true, onClick: () => handleClick(idx) }, String(idx)))) })) : null;
24
24
  });
25
25
  //# sourceMappingURL=SwipeListControlDots.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SwipeListControlDots.js","sourceRoot":"","sources":["../../../src/ui-kit/SwipeListControl/SwipeListControlDots.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAExC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAG1C,MAAM,eAAe,GAAyC;IAC5D,iBAAiB,EAAE,qBAAqB;IACxC,eAAe,EAAE,sDAAsD;CACxE,CAAC;AAEF,MAAM,eAAe,GAAyC;IAC5D,iBAAiB,EAAE,KAAK;IACxB,eAAe,EAAE,KAAK;CACvB,CAAC;AAEF,MAAM,QAAQ,GACZ,yIAAyI,CAAC;AAE5I,MAAM,gBAAgB,GAAG,oBAAoB,CAAC;AAU9C,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CACrC,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,iBAAiB,EAAE,OAAO,EAAE,EAAE,EAAE;IACrF,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,EAAE;QAClC,IAAI,GAAG,KAAK,WAAW,IAAI,YAAY,EAAE,OAAO,EAAE;YAChD,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,cAAc,CAAC;gBACjD,QAAQ,EAAE,QAAQ;gBAClB,KAAK,EAAE,SAAS;aACjB,CAAC,CAAC;SACJ;IACH,CAAC,CAAC;IAEF,OAAO,QAAQ,CAAC,CAAC,CAAC,CAChB,cACE,SAAS,EAAE,KAAK,CACd,wBAAwB,EACxB,eAAe,CAAC,QAAQ,CAAC,EACzB,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CACvB,KACG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,YAE3C,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAW,EAAE,EAAE,CAAC,CACtD,cAEE,SAAS,EAAE,GAAG,QAAQ,IACpB,GAAG,KAAK,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,gBACpD,EAAE,EACF,IAAI,EAAC,QAAQ,uBAEb,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,IAN1B,MAAM,CAAC,GAAG,CAAC,CAOhB,CACH,CAAC,GACE,CACP,CAAC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC,CACF,CAAC"}
1
+ {"version":3,"file":"SwipeListControlDots.js","sourceRoot":"","sources":["../../../src/ui-kit/SwipeListControl/SwipeListControlDots.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAExC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAG1C,MAAM,eAAe,GAAyC;IAC5D,iBAAiB,EAAE,qBAAqB;IACxC,eAAe,EAAE,sDAAsD;CACxE,CAAC;AAEF,MAAM,eAAe,GAAyC;IAC5D,iBAAiB,EAAE,KAAK;IACxB,eAAe,EAAE,KAAK;CACvB,CAAC;AAEF,MAAM,QAAQ,GACZ,yIAAyI,CAAC;AAE5I,MAAM,gBAAgB,GAAG,oBAAoB,CAAC;AAW9C,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CACrC,CAAC,EACC,SAAS,GAAG,EAAE,EACd,YAAY,EACZ,WAAW,EACX,QAAQ,GAAG,CAAC,EACZ,QAAQ,GAAG,iBAAiB,EAC5B,OAAO,GACR,EAAE,EAAE;IACH,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,EAAE;QAClC,IAAI,GAAG,KAAK,WAAW,IAAI,YAAY,EAAE,OAAO,EAAE;YAChD,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,cAAc,CAAC;gBACjD,QAAQ,EAAE,QAAQ;gBAClB,KAAK,EAAE,SAAS;aACjB,CAAC,CAAC;SACJ;IACH,CAAC,CAAC;IAEF,OAAO,QAAQ,CAAC,CAAC,CAAC,CAChB,cACE,SAAS,EAAE,KAAK,CACd,aAAa,EACb,eAAe,CAAC,QAAQ,CAAC,EACzB,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EACtB,SAAS,CACV,KACG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,YAE3C,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAW,EAAE,EAAE,CAAC,CACtD,cAEE,SAAS,EAAE,GAAG,QAAQ,IACpB,GAAG,KAAK,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,gBACpD,EAAE,EACF,IAAI,EAAC,QAAQ,uBAEb,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,IAN1B,MAAM,CAAC,GAAG,CAAC,CAOhB,CACH,CAAC,GACE,CACP,CAAC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC,CACF,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const isShowDots = true;
@@ -0,0 +1,2 @@
1
+ export const isShowDots = true;
2
+ //# sourceMappingURL=isShowDots.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isShowDots.js","sourceRoot":"","sources":["../../../src/ui-kit/SwipeListControl/isShowDots.tsx"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC"}
@@ -68,6 +68,7 @@ export const Carousel: JSXBlock<CarouselProps> = JSX<CarouselProps>(
68
68
  />
69
69
  </div>
70
70
  <SwipeListControlDots
71
+ className="@lg:hidden"
71
72
  containerRef={containerRef}
72
73
  activeIndex={dotsActiveIndex}
73
74
  dotCount={count}
@@ -35,8 +35,8 @@ export const ContentPage: JSXBlock<ContentPageProps> = JSX<ContentPageProps>(
35
35
  useBlockRouterProvider();
36
36
 
37
37
  return (
38
- <div data-theme={colorPalette}>
39
- <section className={style('relative @container', pageStyle, className)}>
38
+ <div className="@container" data-theme={colorPalette}>
39
+ <section className={style('relative', pageStyle, className)}>
40
40
  {slots?.header ? (
41
41
  <div className="relative z-10 mb-lg shadow-[0_8px_32px_0px_#00000014]">
42
42
  {renderBlocksList(slots?.header, { ...options, slotName: 'header' })}
@@ -14,7 +14,7 @@ export const Contacts = JSX<ContactsProps>(({ className = '', items }) => (
14
14
  <Button
15
15
  version="primary"
16
16
  className="w-full"
17
- href="https://www.rshb.ru/feedback/question/"
17
+ href="https://old.rshb.ru/feedback/question/"
18
18
  target="_blank"
19
19
  ariaLabel="Обратная связь"
20
20
  text="Обратная связь"
@@ -6,6 +6,7 @@ import type { UniBlockProps } from '../../model/JSXBlock';
6
6
  import { BlockWrapper } from '../../ui-kit/BlockWrapper';
7
7
  import { Button } from '../../ui-kit/Button/Button';
8
8
  import { Checkbox } from '../../ui-kit/Checkbox/Checkbox';
9
+ import { ClientOnly } from '../../ui-kit/ClientOnly';
9
10
  import { Heading } from '../../ui-kit/Heading/Heading';
10
11
  import { Icon } from '../../ui-kit/Icon/Icon';
11
12
  import { Img } from '../../ui-kit/Img/Img';
@@ -39,12 +40,9 @@ const FILTRATION_LABELS = {
39
40
  billAcceptorEnable: 'Прием наличных',
40
41
  };
41
42
 
42
- const FILTRATION_BRANCHES_PREDICATES = {
43
+ const FILTRATION_PREDICATES = {
43
44
  safeBoxCaseVolumes: (item: Branch) => Boolean(item.safeBoxCaseVolumes),
44
45
  workingSaturday: (item: Branch) => Boolean(item.workSchedule?.workingSaturday),
45
- };
46
-
47
- const FILTRATION_ATMS_PREDICATES = {
48
46
  terminalTypeAtms: (item: Atm) => item.terminalType?.toLowerCase() === 'банкомат',
49
47
  terminalTypeTerm: (item: Atm) => item.terminalType?.toLowerCase() === 'терминал',
50
48
  workAllTime: (item: Atm) => item.workTime?.toLowerCase() === 'круглосуточно',
@@ -95,7 +93,9 @@ export const OfficesAtmsMap = JSX<OfficesAtmsMapProps>(({ data, className = '',
95
93
  {renderFiltrationForm(Object.keys(initialState), { field, reset })}
96
94
  </div>
97
95
  <div className="h-[600px]">
98
- <YandexMap points={points} className="h-full" />
96
+ <ClientOnly>
97
+ <YandexMap points={points} className="h-full" />
98
+ </ClientOnly>
99
99
  </div>
100
100
  </div>
101
101
  {filteredOfficesAtmsData.map(dataType === 'offices' ? renderOfficeCard : renderAtmCard)}
@@ -106,17 +106,11 @@ export const OfficesAtmsMap = JSX<OfficesAtmsMapProps>(({ data, className = '',
106
106
  const filterOfficesAtms = (data: Branch[] | Atm[], filtrationState: Record<string, boolean>) => {
107
107
  const truthyFilters = Object.keys(filtrationState).filter((key) => filtrationState[key]);
108
108
 
109
- return 'name' in data
110
- ? (data as Branch[]).filter(filterOffices(truthyFilters))
111
- : (data as Atm[]).filter(filterAtms(truthyFilters));
109
+ return (data as Array<Branch | Atm>).filter((item) =>
110
+ truthyFilters.every((filterName) => FILTRATION_PREDICATES[filterName](item)),
111
+ );
112
112
  };
113
113
 
114
- const filterOffices = (filters: string[]) => (item: Branch) =>
115
- filters.every((filterName) => FILTRATION_BRANCHES_PREDICATES[filterName](item));
116
-
117
- const filterAtms = (filters: string[]) => (item: Atm) =>
118
- filters.every((filterName) => FILTRATION_ATMS_PREDICATES[filterName](item));
119
-
120
114
  const getTitle = (name = '', dataType = 'offices') =>
121
115
  dataType === 'offices' ? `Офисы филиала ${name}` : `Банкоматы филиала ${name}`;
122
116
 
@@ -1,6 +1,5 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
2
  import type { MenuItemProps } from './StickyBottomMenuProps';
3
- import { BlockWrapper } from '../../ui-kit/BlockWrapper';
4
3
  import { RenderItem } from './RenderItem';
5
4
  import { useActiveRoute } from '../../hooks/useActiveRoute';
6
5
 
@@ -13,15 +12,10 @@ export const RenderMenuItems = JSX<RenderMenuItems>(({ menuItems, onClick }) =>
13
12
  const [activeIndex] = useActiveRoute(menuItems);
14
13
 
15
14
  return (
16
- <BlockWrapper
17
- className="fixed bottom-0 left-0 right-0 my-0 mx-auto w-full bg-transparent z-[100]"
18
- padding="p-0"
19
- >
20
- <div className="ml-auto container bg-white flex justify-center shadow-blue-gray">
21
- {menuItems.map((_, i) => (
22
- <RenderItem key={String(i)} isActive={i === activeIndex} item={_} onClick={onClick} />
23
- ))}
24
- </div>
25
- </BlockWrapper>
15
+ <div className="ml-auto container bg-white flex justify-center shadow-blue-gray">
16
+ {menuItems.map((_, i) => (
17
+ <RenderItem key={String(i)} isActive={i === activeIndex} item={_} onClick={onClick} />
18
+ ))}
19
+ </div>
26
20
  );
27
21
  });
@@ -2,10 +2,10 @@ import { JSX } from '@redneckz/uni-jsx';
2
2
  import { useMemo } from '@redneckz/uni-jsx/lib/hooks';
3
3
  import { projectSettings } from '../../ProjectSettings';
4
4
  import { useSWRResource } from '../../hooks/useSWRResource';
5
- import { BurgerMenuDialog } from './BurgerMenuDialog';
6
5
  import type { MenuItemProps, StickyBottomMenuProps } from './StickyBottomMenuProps';
7
6
  import { RenderMenuItems } from './RenderMenuItems';
8
7
  import { useBurgerMenuDialog } from './useBurgerMenuDialog';
8
+ import { BlockWrapper } from '../../ui-kit/BlockWrapper';
9
9
 
10
10
  export const StickyBottomMenu = JSX<StickyBottomMenuProps>(({ ...rest }) => {
11
11
  const { menuItems = [] } = useSWRResource<StickyBottomMenuProps>(
@@ -35,9 +35,11 @@ export const StickyBottomMenu = JSX<StickyBottomMenuProps>(({ ...rest }) => {
35
35
  );
36
36
 
37
37
  return (
38
- <div className="contents">
38
+ <BlockWrapper
39
+ className="fixed bottom-0 left-0 right-0 my-0 mx-auto w-full bg-transparent z-[100]"
40
+ padding="p-0"
41
+ >
39
42
  {<RenderMenuItems menuItems={menuItemsWithButton} onClick={toggle} />}
40
- {isBurgerMenuDialogOpen ? <BurgerMenuDialog /> : null}
41
- </div>
43
+ </BlockWrapper>
42
44
  );
43
45
  });
@@ -0,0 +1,6 @@
1
+ import { JSX } from '@redneckz/uni-jsx';
2
+ import { isSSR } from '@redneckz/uni-jsx/lib/hooks/vue/isSSR';
3
+
4
+ const isClient = !isSSR();
5
+
6
+ export const ClientOnly = JSX(({ children }) => (isClient ? children : null));
@@ -5,6 +5,7 @@ import { SwipeListContainer } from './SwipeListContainer';
5
5
  import type { SwipeListControlContent } from './SwipeListControlContent';
6
6
  import { SwipeListControlDots } from './SwipeListControlDots';
7
7
  import { useSwipeListScroll } from './useSwipeListScroll';
8
+ import { isShowDots } from './isShowDots';
8
9
 
9
10
  const DEFAULT_GAP = 14;
10
11
 
@@ -29,7 +30,7 @@ export const SwipeListControl = JSX<SwipeListControlProps>(
29
30
  version,
30
31
  gap = DEFAULT_GAP,
31
32
  padding = DEFAULT_PADDING,
32
- showDots = true,
33
+ showDots = isShowDots,
33
34
  minHeight,
34
35
  children,
35
36
  onVisibleIndicesChange,
@@ -19,6 +19,7 @@ const dotStyle =
19
19
  const inactiveDotStyle = 'w-2 h-2 opacity-30';
20
20
 
21
21
  export interface SwipeListControlDotsProps {
22
+ className?: string;
22
23
  containerRef?: { current: HTMLDivElement | null };
23
24
  activeIndex?: number;
24
25
  dotCount?: number;
@@ -27,7 +28,14 @@ export interface SwipeListControlDotsProps {
27
28
  }
28
29
 
29
30
  export const SwipeListControlDots = JSX<SwipeListControlDotsProps>(
30
- ({ containerRef, activeIndex, dotCount = 0, listType = 'horizontal-list', version }) => {
31
+ ({
32
+ className = '',
33
+ containerRef,
34
+ activeIndex,
35
+ dotCount = 0,
36
+ listType = 'horizontal-list',
37
+ version,
38
+ }) => {
31
39
  const handleClick = (idx: number) => {
32
40
  if (idx !== activeIndex && containerRef?.current) {
33
41
  containerRef.current.children[idx]?.scrollIntoView({
@@ -40,9 +48,10 @@ export const SwipeListControlDots = JSX<SwipeListControlDotsProps>(
40
48
  return dotCount ? (
41
49
  <div
42
50
  className={style(
43
- 'flex gap-xs @lg:hidden',
51
+ 'flex gap-xs',
44
52
  containerStyles[listType],
45
53
  version ? 'group' : '',
54
+ className,
46
55
  )}
47
56
  {...(version ? { 'data-ver': version } : {})}
48
57
  >
@@ -0,0 +1 @@
1
+ export const isShowDots = true;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redneckz/wildless-cms-uni-blocks",
3
- "version": "0.14.2",
3
+ "version": "0.14.3",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "author": "ЦК",
@@ -68,6 +68,7 @@ export const Carousel: JSXBlock<CarouselProps> = JSX<CarouselProps>(
68
68
  />
69
69
  </div>
70
70
  <SwipeListControlDots
71
+ className="@lg:hidden"
71
72
  containerRef={containerRef}
72
73
  activeIndex={dotsActiveIndex}
73
74
  dotCount={count}
@@ -35,8 +35,8 @@ export const ContentPage: JSXBlock<ContentPageProps> = JSX<ContentPageProps>(
35
35
  useBlockRouterProvider();
36
36
 
37
37
  return (
38
- <div data-theme={colorPalette}>
39
- <section className={style('relative @container', pageStyle, className)}>
38
+ <div className="@container" data-theme={colorPalette}>
39
+ <section className={style('relative', pageStyle, className)}>
40
40
  {slots?.header ? (
41
41
  <div className="relative z-10 mb-lg shadow-[0_8px_32px_0px_#00000014]">
42
42
  {renderBlocksList(slots?.header, { ...options, slotName: 'header' })}
@@ -14,7 +14,7 @@ export const Contacts = JSX<ContactsProps>(({ className = '', items }) => (
14
14
  <Button
15
15
  version="primary"
16
16
  className="w-full"
17
- href="https://www.rshb.ru/feedback/question/"
17
+ href="https://old.rshb.ru/feedback/question/"
18
18
  target="_blank"
19
19
  ariaLabel="Обратная связь"
20
20
  text="Обратная связь"
@@ -6,6 +6,7 @@ import type { UniBlockProps } from '../../model/JSXBlock';
6
6
  import { BlockWrapper } from '../../ui-kit/BlockWrapper';
7
7
  import { Button } from '../../ui-kit/Button/Button';
8
8
  import { Checkbox } from '../../ui-kit/Checkbox/Checkbox';
9
+ import { ClientOnly } from '../../ui-kit/ClientOnly';
9
10
  import { Heading } from '../../ui-kit/Heading/Heading';
10
11
  import { Icon } from '../../ui-kit/Icon/Icon';
11
12
  import { Img } from '../../ui-kit/Img/Img';
@@ -39,12 +40,9 @@ const FILTRATION_LABELS = {
39
40
  billAcceptorEnable: 'Прием наличных',
40
41
  };
41
42
 
42
- const FILTRATION_BRANCHES_PREDICATES = {
43
+ const FILTRATION_PREDICATES = {
43
44
  safeBoxCaseVolumes: (item: Branch) => Boolean(item.safeBoxCaseVolumes),
44
45
  workingSaturday: (item: Branch) => Boolean(item.workSchedule?.workingSaturday),
45
- };
46
-
47
- const FILTRATION_ATMS_PREDICATES = {
48
46
  terminalTypeAtms: (item: Atm) => item.terminalType?.toLowerCase() === 'банкомат',
49
47
  terminalTypeTerm: (item: Atm) => item.terminalType?.toLowerCase() === 'терминал',
50
48
  workAllTime: (item: Atm) => item.workTime?.toLowerCase() === 'круглосуточно',
@@ -95,7 +93,9 @@ export const OfficesAtmsMap = JSX<OfficesAtmsMapProps>(({ data, className = '',
95
93
  {renderFiltrationForm(Object.keys(initialState), { field, reset })}
96
94
  </div>
97
95
  <div className="h-[600px]">
98
- <YandexMap points={points} className="h-full" />
96
+ <ClientOnly>
97
+ <YandexMap points={points} className="h-full" />
98
+ </ClientOnly>
99
99
  </div>
100
100
  </div>
101
101
  {filteredOfficesAtmsData.map(dataType === 'offices' ? renderOfficeCard : renderAtmCard)}
@@ -106,17 +106,11 @@ export const OfficesAtmsMap = JSX<OfficesAtmsMapProps>(({ data, className = '',
106
106
  const filterOfficesAtms = (data: Branch[] | Atm[], filtrationState: Record<string, boolean>) => {
107
107
  const truthyFilters = Object.keys(filtrationState).filter((key) => filtrationState[key]);
108
108
 
109
- return 'name' in data
110
- ? (data as Branch[]).filter(filterOffices(truthyFilters))
111
- : (data as Atm[]).filter(filterAtms(truthyFilters));
109
+ return (data as Array<Branch | Atm>).filter((item) =>
110
+ truthyFilters.every((filterName) => FILTRATION_PREDICATES[filterName](item)),
111
+ );
112
112
  };
113
113
 
114
- const filterOffices = (filters: string[]) => (item: Branch) =>
115
- filters.every((filterName) => FILTRATION_BRANCHES_PREDICATES[filterName](item));
116
-
117
- const filterAtms = (filters: string[]) => (item: Atm) =>
118
- filters.every((filterName) => FILTRATION_ATMS_PREDICATES[filterName](item));
119
-
120
114
  const getTitle = (name = '', dataType = 'offices') =>
121
115
  dataType === 'offices' ? `Офисы филиала ${name}` : `Банкоматы филиала ${name}`;
122
116
 
@@ -33,7 +33,7 @@ export default {
33
33
  buttons={[
34
34
  {
35
35
  text: 'Отправить заявку',
36
- href: 'https://www.rshb.ru/',
36
+ href: 'https://old.rshb.ru/',
37
37
  target: '_blank',
38
38
  version: 'primary',
39
39
  },
@@ -115,7 +115,7 @@ export default {
115
115
  buttons={[
116
116
  {
117
117
  text: 'Отправить заявку',
118
- href: 'https://www.rshb.ru/',
118
+ href: 'https://old.rshb.ru/',
119
119
  target: '_blank',
120
120
  icon: { icon: 'ComfortableCompIcon' },
121
121
  iconRight: { icon: 'ComfortableCompIcon' },
@@ -1,6 +1,5 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
2
  import type { MenuItemProps } from './StickyBottomMenuProps';
3
- import { BlockWrapper } from '../../ui-kit/BlockWrapper';
4
3
  import { RenderItem } from './RenderItem';
5
4
  import { useActiveRoute } from '../../hooks/useActiveRoute';
6
5
 
@@ -13,15 +12,10 @@ export const RenderMenuItems = JSX<RenderMenuItems>(({ menuItems, onClick }) =>
13
12
  const [activeIndex] = useActiveRoute(menuItems);
14
13
 
15
14
  return (
16
- <BlockWrapper
17
- className="fixed bottom-0 left-0 right-0 my-0 mx-auto w-full bg-transparent z-[100]"
18
- padding="p-0"
19
- >
20
- <div className="ml-auto container bg-white flex justify-center shadow-blue-gray">
21
- {menuItems.map((_, i) => (
22
- <RenderItem key={String(i)} isActive={i === activeIndex} item={_} onClick={onClick} />
23
- ))}
24
- </div>
25
- </BlockWrapper>
15
+ <div className="ml-auto container bg-white flex justify-center shadow-blue-gray">
16
+ {menuItems.map((_, i) => (
17
+ <RenderItem key={String(i)} isActive={i === activeIndex} item={_} onClick={onClick} />
18
+ ))}
19
+ </div>
26
20
  );
27
21
  });
@@ -2,10 +2,10 @@ import { JSX } from '@redneckz/uni-jsx';
2
2
  import { useMemo } from '@redneckz/uni-jsx/lib/hooks';
3
3
  import { projectSettings } from '../../ProjectSettings';
4
4
  import { useSWRResource } from '../../hooks/useSWRResource';
5
- import { BurgerMenuDialog } from './BurgerMenuDialog';
6
5
  import type { MenuItemProps, StickyBottomMenuProps } from './StickyBottomMenuProps';
7
6
  import { RenderMenuItems } from './RenderMenuItems';
8
7
  import { useBurgerMenuDialog } from './useBurgerMenuDialog';
8
+ import { BlockWrapper } from '../../ui-kit/BlockWrapper';
9
9
 
10
10
  export const StickyBottomMenu = JSX<StickyBottomMenuProps>(({ ...rest }) => {
11
11
  const { menuItems = [] } = useSWRResource<StickyBottomMenuProps>(
@@ -35,9 +35,11 @@ export const StickyBottomMenu = JSX<StickyBottomMenuProps>(({ ...rest }) => {
35
35
  );
36
36
 
37
37
  return (
38
- <div className="contents">
38
+ <BlockWrapper
39
+ className="fixed bottom-0 left-0 right-0 my-0 mx-auto w-full bg-transparent z-[100]"
40
+ padding="p-0"
41
+ >
39
42
  {<RenderMenuItems menuItems={menuItemsWithButton} onClick={toggle} />}
40
- {isBurgerMenuDialogOpen ? <BurgerMenuDialog /> : null}
41
- </div>
43
+ </BlockWrapper>
42
44
  );
43
45
  });
@@ -0,0 +1,66 @@
1
+ import '../../setup-fixture';
2
+
3
+ import type { BlockRendererOptions } from '../../BlockRenderer/BlockRendererOptions';
4
+ import { Blocks } from '../Blocks';
5
+ import { PRODUCT_TILE } from '../ProductTile/ProductTile.fixture';
6
+ import { SwipeListControlBlock } from './SwipeListControlBlock';
7
+
8
+ const options = {
9
+ blocksRegistry: Blocks,
10
+ } as BlockRendererOptions;
11
+
12
+ export default {
13
+ default: (
14
+ <div className="container grid grid-cols-12">
15
+ <SwipeListControlBlock
16
+ className="col-span-12"
17
+ block={{
18
+ type: 'SwipeListControlBlock',
19
+ blocks: [
20
+ { type: 'ProductTile', content: PRODUCT_TILE },
21
+ { type: 'ProductTile', content: PRODUCT_TILE },
22
+ { type: 'ProductTile', content: PRODUCT_TILE },
23
+ { type: 'ProductTile', content: PRODUCT_TILE },
24
+ ],
25
+ }}
26
+ showDots={true}
27
+ listType="vertical-list"
28
+ options={options}
29
+ />
30
+ </div>
31
+ ),
32
+ secondary: (
33
+ <div className="container grid grid-cols-12">
34
+ <SwipeListControlBlock
35
+ className="col-span-12"
36
+ block={{
37
+ type: 'SwipeListControlBlock',
38
+ blocks: [
39
+ { type: 'ProductTile', content: { ...PRODUCT_TILE, version: '' } },
40
+ { type: 'ProductTile', content: { ...PRODUCT_TILE, version: '' } },
41
+ ],
42
+ }}
43
+ listType="vertical-list"
44
+ options={options}
45
+ version="secondary"
46
+ />
47
+ </div>
48
+ ),
49
+ transparent: (
50
+ <div className="container grid grid-cols-12">
51
+ <SwipeListControlBlock
52
+ className="col-span-12"
53
+ block={{
54
+ type: 'SwipeListControlBlock',
55
+ blocks: [
56
+ { type: 'ProductTile', content: { ...PRODUCT_TILE, version: '' } },
57
+ { type: 'ProductTile', content: { ...PRODUCT_TILE, version: '' } },
58
+ ],
59
+ }}
60
+ listType="vertical-list"
61
+ options={options}
62
+ version="transparent"
63
+ />
64
+ </div>
65
+ ),
66
+ };
@@ -60,4 +60,23 @@ export default {
60
60
  />
61
61
  </div>
62
62
  ),
63
+ showDots: (
64
+ <div className="container grid grid-cols-12">
65
+ <SwipeListControlBlock
66
+ className="col-span-12"
67
+ showDots={true}
68
+ block={{
69
+ type: 'SwipeListControlBlock',
70
+ blocks: [
71
+ { type: 'ProductTile', content: PRODUCT_TILE },
72
+ { type: 'ProductTile', content: PRODUCT_TILE },
73
+ { type: 'ProductTile', content: PRODUCT_TILE },
74
+ { type: 'ProductTile', content: PRODUCT_TILE },
75
+ ],
76
+ }}
77
+ listType="vertical-list"
78
+ options={options}
79
+ />
80
+ </div>
81
+ ),
63
82
  };