@redneckz/wildless-cms-uni-blocks 0.3.30 → 0.3.31

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 (135) hide show
  1. package/bundle/blocks.schema.json +1 -1
  2. package/bundle/bundle.umd.js +15 -26
  3. package/bundle/bundle.umd.min.js +1 -1
  4. package/dist/components/Accordion/Accordion.js +2 -6
  5. package/dist/components/Accordion/Accordion.js.map +1 -1
  6. package/dist/components/Accordion/AccordionContent.d.ts +3 -3
  7. package/dist/components/Accordion/AccordionItem.js +4 -11
  8. package/dist/components/Accordion/AccordionItem.js.map +1 -1
  9. package/dist/components/Accordion/AccordionItem.mobile.js +6 -3
  10. package/dist/components/Accordion/AccordionItem.mobile.js.map +1 -1
  11. package/dist/components/Accordion/AccordionItemInner.js +2 -2
  12. package/dist/components/Accordion/AccordionItemInner.js.map +1 -1
  13. package/dist/components/Accordion/AccordionItemInner.mobile.js +2 -3
  14. package/dist/components/Accordion/AccordionItemInner.mobile.js.map +1 -1
  15. package/dist/components/Footer/MediaButton.js +1 -1
  16. package/dist/components/Footer/MediaButton.js.map +1 -1
  17. package/dist/components/Header/Header.js +1 -1
  18. package/dist/components/Header/Header.js.map +1 -1
  19. package/dist/components/OtherProducts/OtherProductsContent.d.ts +3 -12
  20. package/dist/components/TextBlock/TextBlockContent.d.ts +1 -1
  21. package/dist/ui-kit/BlocksList/EmbeddableBlocks.mobile.d.ts +8 -0
  22. package/dist/ui-kit/BlocksList/EmbeddableBlocks.mobile.js +17 -0
  23. package/dist/ui-kit/BlocksList/EmbeddableBlocks.mobile.js.map +1 -0
  24. package/dist/ui-kit/BlocksList/renderBlocksList.d.ts +2 -4
  25. package/dist/ui-kit/BlocksList/renderBlocksList.js +3 -3
  26. package/dist/ui-kit/BlocksList/renderBlocksList.js.map +1 -1
  27. package/dist/ui-kit/SwipeListControl/SwipeListControlDots.js +1 -1
  28. package/dist/ui-kit/SwipeListControl/SwipeListControlDots.js.map +1 -1
  29. package/dist/ui-kit/SwipeListControl/utils/getScrollPoints.js +7 -1
  30. package/dist/ui-kit/SwipeListControl/utils/getScrollPoints.js.map +1 -1
  31. package/lib/common.css +1 -1
  32. package/lib/components/Accordion/Accordion.js +2 -6
  33. package/lib/components/Accordion/Accordion.js.map +1 -1
  34. package/lib/components/Accordion/AccordionContent.d.ts +3 -3
  35. package/lib/components/Accordion/AccordionItem.js +4 -11
  36. package/lib/components/Accordion/AccordionItem.js.map +1 -1
  37. package/lib/components/Accordion/AccordionItem.mobile.js +6 -3
  38. package/lib/components/Accordion/AccordionItem.mobile.js.map +1 -1
  39. package/lib/components/Accordion/AccordionItemInner.js +2 -2
  40. package/lib/components/Accordion/AccordionItemInner.js.map +1 -1
  41. package/lib/components/Accordion/AccordionItemInner.mobile.js +2 -3
  42. package/lib/components/Accordion/AccordionItemInner.mobile.js.map +1 -1
  43. package/lib/components/Footer/MediaButton.js +1 -1
  44. package/lib/components/Footer/MediaButton.js.map +1 -1
  45. package/lib/components/Header/Header.js +1 -1
  46. package/lib/components/Header/Header.js.map +1 -1
  47. package/lib/components/OtherProducts/OtherProductsContent.d.ts +3 -12
  48. package/lib/components/TextBlock/TextBlockContent.d.ts +1 -1
  49. package/lib/ui-kit/BlocksList/EmbeddableBlocks.mobile.d.ts +8 -0
  50. package/lib/ui-kit/BlocksList/EmbeddableBlocks.mobile.js +15 -0
  51. package/lib/ui-kit/BlocksList/EmbeddableBlocks.mobile.js.map +1 -0
  52. package/lib/ui-kit/BlocksList/renderBlocksList.d.ts +2 -4
  53. package/lib/ui-kit/BlocksList/renderBlocksList.js +3 -3
  54. package/lib/ui-kit/BlocksList/renderBlocksList.js.map +1 -1
  55. package/lib/ui-kit/SwipeListControl/SwipeListControl.fixture.mobile.d.ts +3 -0
  56. package/lib/ui-kit/SwipeListControl/SwipeListControlDots.js +1 -1
  57. package/lib/ui-kit/SwipeListControl/SwipeListControlDots.js.map +1 -1
  58. package/lib/ui-kit/SwipeListControl/utils/getScrollPoints.d.ts +4 -1
  59. package/lib/ui-kit/SwipeListControl/utils/getScrollPoints.js +7 -1
  60. package/lib/ui-kit/SwipeListControl/utils/getScrollPoints.js.map +1 -1
  61. package/mobile/bundle/bundle.umd.js +76 -184
  62. package/mobile/bundle/bundle.umd.min.js +1 -1
  63. package/mobile/dist/components/Accordion/AccordionContent.d.ts +3 -3
  64. package/mobile/dist/components/Accordion/AccordionItem.js +6 -3
  65. package/mobile/dist/components/Accordion/AccordionItem.js.map +1 -1
  66. package/mobile/dist/components/Accordion/AccordionItemInner.js +2 -3
  67. package/mobile/dist/components/Accordion/AccordionItemInner.js.map +1 -1
  68. package/mobile/dist/components/Footer/MediaButton.js +1 -1
  69. package/mobile/dist/components/Footer/MediaButton.js.map +1 -1
  70. package/mobile/dist/components/OtherProducts/OtherProductsContent.d.ts +3 -12
  71. package/mobile/dist/components/TextBlock/TextBlockContent.d.ts +1 -1
  72. package/mobile/dist/ui-kit/BlocksList/EmbeddableBlocks.d.ts +0 -4
  73. package/mobile/dist/ui-kit/BlocksList/EmbeddableBlocks.js +0 -8
  74. package/mobile/dist/ui-kit/BlocksList/EmbeddableBlocks.js.map +1 -1
  75. package/mobile/dist/ui-kit/BlocksList/renderBlocksList.d.ts +2 -4
  76. package/mobile/dist/ui-kit/BlocksList/renderBlocksList.js +3 -3
  77. package/mobile/dist/ui-kit/BlocksList/renderBlocksList.js.map +1 -1
  78. package/mobile/dist/ui-kit/SwipeListControl/SwipeListControlDots.js +1 -1
  79. package/mobile/dist/ui-kit/SwipeListControl/SwipeListControlDots.js.map +1 -1
  80. package/mobile/dist/ui-kit/SwipeListControl/utils/getScrollPoints.js +7 -1
  81. package/mobile/dist/ui-kit/SwipeListControl/utils/getScrollPoints.js.map +1 -1
  82. package/mobile/lib/components/Accordion/AccordionContent.d.ts +3 -3
  83. package/mobile/lib/components/Accordion/AccordionItem.js +6 -3
  84. package/mobile/lib/components/Accordion/AccordionItem.js.map +1 -1
  85. package/mobile/lib/components/Accordion/AccordionItemInner.js +2 -3
  86. package/mobile/lib/components/Accordion/AccordionItemInner.js.map +1 -1
  87. package/mobile/lib/components/Footer/MediaButton.js +1 -1
  88. package/mobile/lib/components/Footer/MediaButton.js.map +1 -1
  89. package/mobile/lib/components/OtherProducts/OtherProductsContent.d.ts +3 -12
  90. package/mobile/lib/components/TextBlock/TextBlockContent.d.ts +1 -1
  91. package/mobile/lib/ui-kit/BlocksList/EmbeddableBlocks.d.ts +0 -4
  92. package/mobile/lib/ui-kit/BlocksList/EmbeddableBlocks.js +0 -8
  93. package/mobile/lib/ui-kit/BlocksList/EmbeddableBlocks.js.map +1 -1
  94. package/mobile/lib/ui-kit/BlocksList/renderBlocksList.d.ts +2 -4
  95. package/mobile/lib/ui-kit/BlocksList/renderBlocksList.js +3 -3
  96. package/mobile/lib/ui-kit/BlocksList/renderBlocksList.js.map +1 -1
  97. package/mobile/lib/ui-kit/SwipeListControl/SwipeListControlDots.js +1 -1
  98. package/mobile/lib/ui-kit/SwipeListControl/SwipeListControlDots.js.map +1 -1
  99. package/mobile/lib/ui-kit/SwipeListControl/utils/getScrollPoints.js +7 -1
  100. package/mobile/lib/ui-kit/SwipeListControl/utils/getScrollPoints.js.map +1 -1
  101. package/mobile/src/components/Accordion/Accordion.example.json +3 -0
  102. package/mobile/src/components/Accordion/AccordionContent.ts +4 -5
  103. package/mobile/src/components/Accordion/AccordionItem.tsx +32 -27
  104. package/mobile/src/components/Accordion/AccordionItemInner.tsx +8 -11
  105. package/mobile/src/components/Footer/MediaButton.tsx +1 -1
  106. package/mobile/src/components/Header/Header.example.json +3 -0
  107. package/mobile/src/components/OtherProducts/OtherProductsContent.ts +3 -12
  108. package/mobile/src/components/TextBlock/TextBlockContent.ts +1 -1
  109. package/mobile/src/ui-kit/BlocksList/EmbeddableBlocks.tsx +0 -8
  110. package/mobile/src/ui-kit/BlocksList/renderBlocksList.tsx +4 -12
  111. package/mobile/src/ui-kit/SwipeListControl/SwipeListControlDots.tsx +1 -1
  112. package/mobile/src/ui-kit/SwipeListControl/utils/getScrollPoints.spec.ts +18 -0
  113. package/mobile/src/ui-kit/SwipeListControl/utils/getScrollPoints.ts +10 -2
  114. package/package.json +1 -1
  115. package/src/components/Accordion/Accordion.example.json +3 -0
  116. package/src/components/Accordion/Accordion.fixture.mobile.tsx +1 -0
  117. package/src/components/Accordion/Accordion.fixture.tsx +2 -0
  118. package/src/components/Accordion/Accordion.tsx +4 -17
  119. package/src/components/Accordion/AccordionContent.ts +4 -5
  120. package/src/components/Accordion/AccordionItem.mobile.tsx +32 -27
  121. package/src/components/Accordion/AccordionItem.tsx +23 -49
  122. package/src/components/Accordion/AccordionItemInner.mobile.tsx +8 -11
  123. package/src/components/Accordion/AccordionItemInner.tsx +8 -10
  124. package/src/components/Footer/MediaButton.tsx +1 -1
  125. package/src/components/Header/Header.example.json +3 -0
  126. package/src/components/Header/Header.tsx +8 -1
  127. package/src/components/OtherProducts/OtherProducts.fixture.tsx +61 -6
  128. package/src/components/OtherProducts/OtherProductsContent.ts +3 -12
  129. package/src/components/TextBlock/TextBlockContent.ts +1 -1
  130. package/src/ui-kit/BlocksList/EmbeddableBlocks.mobile.tsx +15 -0
  131. package/src/ui-kit/BlocksList/renderBlocksList.tsx +4 -12
  132. package/src/ui-kit/SwipeListControl/SwipeListControl.fixture.mobile.tsx +24 -6
  133. package/src/ui-kit/SwipeListControl/SwipeListControlDots.tsx +1 -1
  134. package/src/ui-kit/SwipeListControl/utils/getScrollPoints.spec.ts +18 -0
  135. package/src/ui-kit/SwipeListControl/utils/getScrollPoints.ts +10 -2
@@ -5,8 +5,14 @@ exports.getScrollPoints = void 0;
5
5
  Returns array of tuples consisting of [start, end] boundary scrollLeft values.
6
6
  */
7
7
  const getScrollPoints = ({ gap, padding, clientWidth, scrollWidth, childElementCount, itemWidth, }) => {
8
- const scrollItemWidth = itemWidth + gap;
9
8
  const scrollableDistance = scrollWidth - clientWidth;
9
+ if (childElementCount === 2) {
10
+ return [
11
+ [0, scrollableDistance],
12
+ [scrollableDistance, scrollWidth],
13
+ ];
14
+ }
15
+ const scrollItemWidth = itemWidth + gap;
10
16
  const edgeScrollDistance = clientWidth - gap - padding;
11
17
  const lastScrollableIdx = childElementCount - 2;
12
18
  const scrollPoints = new Array(childElementCount)
@@ -1 +1 @@
1
- {"version":3,"file":"getScrollPoints.js","sourceRoot":"","sources":["../../../../src/ui-kit/SwipeListControl/utils/getScrollPoints.ts"],"names":[],"mappings":";;AAAA;;;EAGE;AACK,MAAM,eAAe,GAAG,CAAC,EAC9B,GAAG,EACH,OAAO,EACP,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,SAAS,GAQV,EAAE,EAAE;IACH,MAAM,eAAe,GAAG,SAAS,GAAG,GAAG,CAAC;IACxC,MAAM,kBAAkB,GAAG,WAAW,GAAG,WAAW,CAAC;IACrD,MAAM,kBAAkB,GAAG,WAAW,GAAG,GAAG,GAAG,OAAO,CAAC;IAEvD,MAAM,iBAAiB,GAAG,iBAAiB,GAAG,CAAC,CAAC;IAChD,MAAM,YAAY,GAAuB,IAAI,KAAK,CAAC,iBAAiB,CAAC;SAClE,IAAI,CAAC,CAAC,CAAC;SACP,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CACd,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,iBAAiB;QACpC,CAAC,CAAC;YACE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;YACrD,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,kBAAkB;SAClD;QACH,CAAC,CAAC;YACE,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,eAAe,GAAG,kBAAkB;YAChD,GAAG,GAAG,eAAe,GAAG,kBAAkB;SAC3C,CACN,CAAC;IACJ,YAAY,CAAC,iBAAiB,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;IAExE,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AApCW,QAAA,eAAe,mBAoC1B"}
1
+ {"version":3,"file":"getScrollPoints.js","sourceRoot":"","sources":["../../../../src/ui-kit/SwipeListControl/utils/getScrollPoints.ts"],"names":[],"mappings":";;AAAA;;;EAGE;AACK,MAAM,eAAe,GAAG,CAAC,EAC9B,GAAG,EACH,OAAO,EACP,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,SAAS,GAQV,EAAsB,EAAE;IACvB,MAAM,kBAAkB,GAAG,WAAW,GAAG,WAAW,CAAC;IAErD,IAAI,iBAAiB,KAAK,CAAC,EAAE;QAC3B,OAAO;YACL,CAAC,CAAC,EAAE,kBAAkB,CAAC;YACvB,CAAC,kBAAkB,EAAE,WAAW,CAAC;SAClC,CAAC;KACH;IAED,MAAM,eAAe,GAAG,SAAS,GAAG,GAAG,CAAC;IACxC,MAAM,kBAAkB,GAAG,WAAW,GAAG,GAAG,GAAG,OAAO,CAAC;IAEvD,MAAM,iBAAiB,GAAG,iBAAiB,GAAG,CAAC,CAAC;IAChD,MAAM,YAAY,GAAuB,IAAI,KAAK,CAAC,iBAAiB,CAAC;SAClE,IAAI,CAAC,CAAC,CAAC;SACP,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CACd,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,iBAAiB;QACpC,CAAC,CAAC;YACE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;YACrD,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,kBAAkB;SAClD;QACH,CAAC,CAAC;YACE,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,eAAe,GAAG,kBAAkB;YAChD,GAAG,GAAG,eAAe,GAAG,kBAAkB;SAC3C,CACN,CAAC;IACJ,YAAY,CAAC,iBAAiB,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;IAExE,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AA5CW,QAAA,eAAe,mBA4C1B"}
@@ -1,5 +1,6 @@
1
- import type { BlockDef, ColumnsCount } from '../../ui-kit/BlocksList/BlocksListProps';
1
+ import type { BlockDef } from '../../ui-kit/BlocksList/BlocksListProps';
2
2
  import type { BlockVersion } from '../../model/BlockVersion';
3
+ import type { IconName } from '../../icons/IconName';
3
4
  /**
4
5
  * @title Элемент списка
5
6
  */
@@ -20,8 +21,7 @@ export interface AccordionItemCommonProps {
20
21
  * @default false
21
22
  */
22
23
  bordered?: boolean;
23
- version?: BlockVersion;
24
- columns?: ColumnsCount;
24
+ labelIcon?: IconName;
25
25
  }
26
26
  /**
27
27
  * @title Аккордеон
@@ -3,13 +3,16 @@ import { JSX } from '@redneckz/uni-jsx';
3
3
  import { Icon } from '../../ui-kit/Icon/Icon.js';
4
4
  import { AccordionItemInner } from './AccordionItemInner.js';
5
5
  import { useActiveHandler } from './useActiveHandler.js';
6
- export const AccordionItem = JSX(({ label, blocks, bordered, context }) => {
6
+ export const AccordionItem = JSX(({ label, labelIcon, blocks, bordered, context }) => {
7
7
  const { hasContent, icon, handleToggle } = useActiveHandler({
8
8
  context,
9
9
  blocks,
10
10
  });
11
- return (_jsxs("li", { className: `${bordered ? 'border p-4 rounded mb-4' : 'border-0 border-b last:border-b-0'} border-solid border-main-divider`, children: [_jsxs("button", { className: `border-none bg-transparent flex justify-between text-left w-full font-sans text-primary-text
11
+ return (_jsxs("li", { className: `${borderedLiClass(bordered)} border-solid border-main-divider`, children: [_jsxs("button", { className: `border-none bg-transparent flex justify-between text-left w-full font-sans text-primary-text
12
12
  ${bordered ? '' : 'py-[14px] px-0'}
13
- ${hasContent ? 'group cursor-pointer' : ''}`, onClick: handleToggle, children: [_jsx("span", { className: `text-m-title-xs pr-2.5 font-medium ${hasContent ? 'group-hover:text-primary-main' : ''}`, children: label }), hasContent ? _jsx(Icon, { name: icon, width: "24", height: "24", asSVG: true }) : null] }), hasContent ? _jsx(AccordionItemInner, { blocks: blocks, context: context }) : null] }));
13
+ ${hasContent ? 'group cursor-pointer' : ''}`, onClick: handleToggle, children: [_jsxs("span", { className: `text-m-title-xs pr-2.5 font-medium flex ${hasContent ? 'group-hover:text-primary-main' : ''}`, children: [labelIcon ? (_jsx(Icon, { name: labelIcon, width: "24", height: "24", asSVG: true, className: "mr-3" })) : null, label] }), hasContent ? _jsx(Icon, { name: icon, width: "24", height: "24", asSVG: true }) : null] }), hasContent ? _jsx(AccordionItemInner, { blocks: blocks, context: context }) : null] }));
14
14
  });
15
+ function borderedLiClass(bordered) {
16
+ return bordered ? 'border p-4 rounded mb-4' : 'border-0 border-b last:border-b-0';
17
+ }
15
18
  //# sourceMappingURL=AccordionItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AccordionItem.js","sourceRoot":"","sources":["../../../src/components/Accordion/AccordionItem.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAExC,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAE9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAItD,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAqB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;IAC5F,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,gBAAgB,CAAC;QAC1D,OAAO;QACP,MAAM;KACP,CAAC,CAAC;IAEH,OAAO,CACL,cACE,SAAS,EAAE,GACT,QAAQ,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,mCACzC,mCAAmC,aAEnC,kBACE,SAAS,EAAE;YACP,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB;YAChC,UAAU,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,EAAE,EAC9C,OAAO,EAAE,YAAY,aAErB,eACE,SAAS,EAAE,sCACT,UAAU,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,EACjD,EAAE,YAED,KAAK,GACD,EACN,UAAU,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,KAAK,SAAG,CAAC,CAAC,CAAC,IAAI,IAC/D,EACR,UAAU,CAAC,CAAC,CAAC,KAAC,kBAAkB,IAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAI,CAAC,CAAC,CAAC,IAAI,IAC1E,CACN,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"AccordionItem.js","sourceRoot":"","sources":["../../../src/components/Accordion/AccordionItem.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAExC,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAE9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAItD,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAC9B,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;IAClD,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,gBAAgB,CAAC;QAC1D,OAAO;QACP,MAAM;KACP,CAAC,CAAC;IAEH,OAAO,CACL,cAAI,SAAS,EAAE,GAAG,eAAe,CAAC,QAAQ,CAAC,mCAAmC,aAC5E,kBACE,SAAS,EAAE;YACT,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB;YAChC,UAAU,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,EAAE,EAC5C,OAAO,EAAE,YAAY,aAErB,gBACE,SAAS,EAAE,2CACT,UAAU,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,EACjD,EAAE,aAED,SAAS,CAAC,CAAC,CAAC,CACX,KAAC,IAAI,IAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,KAAK,QAAC,SAAS,EAAC,MAAM,GAAG,CACxE,CAAC,CAAC,CAAC,IAAI,EACP,KAAK,IACD,EACN,UAAU,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,KAAK,SAAG,CAAC,CAAC,CAAC,IAAI,IAC/D,EACR,UAAU,CAAC,CAAC,CAAC,KAAC,kBAAkB,IAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAI,CAAC,CAAC,CAAC,IAAI,IAC1E,CACN,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,SAAS,eAAe,CAAC,QAAQ;IAC/B,OAAO,QAAQ,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,mCAAmC,CAAC;AACpF,CAAC"}
@@ -1,9 +1,8 @@
1
1
  import { jsx as _jsx } from "@redneckz/uni-jsx/jsx-runtime";
2
2
  import { JSX } from '@redneckz/uni-jsx';
3
3
  import { renderBlocksList } from '../../ui-kit/BlocksList/renderBlocksList.js';
4
- export const AccordionItemInner = JSX(({ blocks, context, version = 'primary' }) => {
4
+ export const AccordionItemInner = JSX(({ blocks, context }) => {
5
5
  const className = 'mb-5 last:mb-0 first:mt-2';
6
- const columns = 1;
7
- return (_jsx("div", { className: "transition-all duration-300 max-h-0 overflow-hidden group-last:last:pb-0", children: renderBlocksList({ context, className, columns, blocks, version }) }));
6
+ return (_jsx("div", { className: "transition-all duration-300 max-h-0 overflow-hidden group-last:last:pb-0", children: renderBlocksList({ context, className, blocks }) }));
8
7
  });
9
8
  //# sourceMappingURL=AccordionItemInner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AccordionItemInner.js","sourceRoot":"","sources":["../../../src/components/Accordion/AccordionItemInner.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAExC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAE5E,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CACnC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,SAAS,EAAE,EAAE,EAAE;IAC3C,MAAM,SAAS,GAAG,2BAA2B,CAAC;IAC9C,MAAM,OAAO,GAAG,CAAC,CAAC;IAClB,OAAO,CACL,cAAK,SAAS,EAAC,0EAA0E,YACtF,gBAAgB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAC/D,CACP,CAAC;AACJ,CAAC,CACF,CAAC"}
1
+ {"version":3,"file":"AccordionItemInner.js","sourceRoot":"","sources":["../../../src/components/Accordion/AccordionItemInner.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAExC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAE5E,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAqB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;IAChF,MAAM,SAAS,GAAG,2BAA2B,CAAC;IAC9C,OAAO,CACL,cAAK,SAAS,EAAC,0EAA0E,YACtF,gBAAgB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,GAC7C,CACP,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -16,6 +16,6 @@ export const MediaButton = JSX(({ href }) => {
16
16
  const { icon, width, height, label } = ICONS_MAP.find(({ origins }) => origins.some((_) => href?.includes(_))) || {};
17
17
  if (!icon)
18
18
  return null;
19
- return (_jsx("a", { className: "flex items-center justify-center border border-solid border-main-divider rounded-full no-underline outline-none w-[38px] h-[38px] hover:text-primary-main", href: href, "aria-label": label, target: "_blank", rel: "noopener noreferrer", children: Icon && (_jsx(Icon, { name: icon, width: width, height: height, asSVG: true, className: "block", color: "none" })) }));
19
+ return (_jsx("a", { className: "flex items-center justify-center border border-solid border-main-divider rounded-full no-underline outline-none w-[40px] h-[40px] box-border hover:text-primary-main", href: href, "aria-label": label, target: "_blank", rel: "noopener noreferrer", children: Icon && (_jsx(Icon, { name: icon, width: width, height: height, asSVG: true, className: "block", color: "none" })) }));
20
20
  });
21
21
  //# sourceMappingURL=MediaButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MediaButton.js","sourceRoot":"","sources":["../../../src/components/Footer/MediaButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAG9C,MAAM,SAAS,GAMV;IACH;QACE,OAAO,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC;QACjC,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,UAAU;QACjB,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,MAAM;KACf;IACD,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;IAC1F,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;CAC9F,CAAC;AAMF,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAAmB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IAC5D,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAClC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAEhF,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,OAAO,CACL,YACE,SAAS,EAAC,2JAA2J,EACrK,IAAI,EAAE,IAAI,gBACE,KAAK,EACjB,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,YAExB,IAAI,IAAI,CACP,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,QAAC,SAAS,EAAC,OAAO,EAAC,KAAK,EAAC,MAAM,GAAG,CACxF,GACC,CACL,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"MediaButton.js","sourceRoot":"","sources":["../../../src/components/Footer/MediaButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAG9C,MAAM,SAAS,GAMV;IACH;QACE,OAAO,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC;QACjC,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,UAAU;QACjB,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,MAAM;KACf;IACD,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;IAC1F,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;CAC9F,CAAC;AAMF,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAAmB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IAC5D,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAClC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAEhF,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,OAAO,CACL,YACE,SAAS,EAAC,sKAAsK,EAChL,IAAI,EAAE,IAAI,gBACE,KAAK,EACjB,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,YAExB,IAAI,IAAI,CACP,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,QAAC,SAAS,EAAC,OAAO,EAAC,KAAK,EAAC,MAAM,GAAG,CACxF,GACC,CACL,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -14,11 +14,6 @@ export interface blockItemCommonProps {
14
14
  isExpanded?: boolean;
15
15
  /** @title Блоки */
16
16
  blocks?: BlockDef[];
17
- /**
18
- * @title Отображать/скрывать обводку элемента
19
- * @default false
20
- */
21
- bordered?: boolean;
22
17
  columns?: ColumnsCount;
23
18
  }
24
19
  /**
@@ -27,13 +22,9 @@ export interface blockItemCommonProps {
27
22
  export interface OtherProductsContent {
28
23
  /** @title Заголовок */
29
24
  title?: string;
30
- /** @title Список */
31
- blockItems?: blockItemCommonProps[];
32
- /** @title Подзаголовок */
33
- description?: string;
34
25
  /**
35
- * @title Отображать/скрывать обводку у элемента списка
36
- * @default false
26
+ * @title Список
27
+ * @maxItems 10
37
28
  */
38
- bordered?: boolean;
29
+ blockItems?: blockItemCommonProps[];
39
30
  }
@@ -20,6 +20,6 @@ export interface TextBlockContent {
20
20
  iconVersion?: TextBlockIconVersion;
21
21
  image?: Picture;
22
22
  blockVersion?: TextBlockVersion;
23
- /** @title Маркеры списка (моб.) */ isDotted?: boolean;
23
+ /** @title Буллиты */ isDotted?: boolean;
24
24
  /** @title Список (моб.) */ items?: string[];
25
25
  }
@@ -2,11 +2,7 @@ export declare const EmbeddableBlocks: {
2
2
  Headline: (props: import("@redneckz/uni-jsx").PropsWithChildren<import("../../components/Headline/Headline").HeadlineProps, any>, context?: any) => any;
3
3
  LinkDocs: (props: import("@redneckz/uni-jsx").PropsWithChildren<import("../../components/LinkDocs/LinkDocs").LinkDocsProps, any>, context?: any) => any;
4
4
  TextBlock: (props: import("@redneckz/uni-jsx").PropsWithChildren<import("../../components/TextBlock/TextBlock").TextBlockProps, any>, context?: any) => any;
5
- PictureText: (props: import("@redneckz/uni-jsx").PropsWithChildren<import("../../components/PictureText/PictureText").PictureTextProps, any>, context?: any) => any;
6
5
  ProductBlock: (props: import("@redneckz/uni-jsx").PropsWithChildren<import("../../components/ProductBlock/ProductBlock").ProductBlockProps, any>, context?: any) => any;
7
- Tile: (props: import("@redneckz/uni-jsx").PropsWithChildren<import("../../components/Tile/Tile").TileProps, any>, context?: any) => any;
8
- ProductTile: (props: import("@redneckz/uni-jsx").PropsWithChildren<import("../../components/ProductTile/ProductTile").ProductTileProps, any>, context?: any) => any;
9
6
  Gallery: (props: import("@redneckz/uni-jsx").PropsWithChildren<import("../../components/Gallery/GalleryProps").GalleryProps, any>, context?: any) => any;
10
- MiniGallery: (props: import("@redneckz/uni-jsx").PropsWithChildren<import("../../components/MiniGallery/MiniGallery").MiniGalleryProps, any>, context?: any) => any;
11
7
  LinkList: (props: import("@redneckz/uni-jsx").PropsWithChildren<import("../../components/LinkList/LinkList").LinkListProps, any>, context?: any) => any;
12
8
  };
@@ -1,23 +1,15 @@
1
1
  import { Headline } from '../../components/Headline/Headline.js';
2
2
  import { LinkDocs } from '../../components/LinkDocs/LinkDocs.js';
3
- import { PictureText } from '../../components/PictureText/PictureText.js';
4
3
  import { ProductBlock } from '../../components/ProductBlock/ProductBlock.js';
5
4
  import { TextBlock } from '../../components/TextBlock/TextBlock.js';
6
- import { Tile } from '../../components/Tile/Tile.js';
7
- import { ProductTile } from '../../components/ProductTile/ProductTile.js';
8
5
  import { Gallery } from '../../components/Gallery/Gallery.js';
9
- import { MiniGallery } from '../../components/MiniGallery/MiniGallery.js';
10
6
  import { LinkList } from '../../components/LinkList/LinkList.js';
11
7
  export const EmbeddableBlocks = {
12
8
  Headline,
13
9
  LinkDocs,
14
10
  TextBlock,
15
- PictureText,
16
11
  ProductBlock,
17
- Tile,
18
- ProductTile,
19
12
  Gallery,
20
- MiniGallery,
21
13
  LinkList,
22
14
  };
23
15
  //# sourceMappingURL=EmbeddableBlocks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EmbeddableBlocks.js","sourceRoot":"","sources":["../../../src/ui-kit/BlocksList/EmbeddableBlocks.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAE9D,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,WAAW;IACX,YAAY;IACZ,IAAI;IACJ,WAAW;IACX,OAAO;IACP,WAAW;IACX,QAAQ;CACT,CAAC"}
1
+ {"version":3,"file":"EmbeddableBlocks.js","sourceRoot":"","sources":["../../../src/ui-kit/BlocksList/EmbeddableBlocks.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAE9D,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,YAAY;IACZ,OAAO;IACP,QAAQ;CACT,CAAC"}
@@ -1,13 +1,11 @@
1
1
  import type { ContentPageContext } from '../../components/ContentPage/ContentPageContext';
2
2
  import type { BlockDef, ColumnsCount } from './BlocksListProps';
3
- import { BlockVersion } from '../../model/BlockVersion';
4
3
  declare type EmbeddableBlocksProps = {
5
4
  blocks?: BlockDef[];
6
5
  context: ContentPageContext;
7
6
  columns?: ColumnsCount;
8
7
  className?: string;
9
- version?: BlockVersion;
10
8
  };
11
- export declare const renderBlocksList: ({ blocks, context, className, columns, version, }: EmbeddableBlocksProps) => any[] | null;
12
- export declare const renderBlock: ({ context, columns, className, version }: EmbeddableBlocksProps) => (block: BlockDef, i: number) => any;
9
+ export declare const renderBlocksList: ({ blocks, context, className, columns }: EmbeddableBlocksProps) => any[] | null;
10
+ export declare const renderBlock: ({ context, columns, className }: EmbeddableBlocksProps) => (block: BlockDef, i: number) => any;
13
11
  export {};
@@ -1,13 +1,13 @@
1
1
  import { jsx as _jsx } from "@redneckz/uni-jsx/jsx-runtime";
2
2
  import { EmbeddableBlocks } from './EmbeddableBlocks.js';
3
- export const renderBlocksList = ({ blocks, context, className, columns, version, }) => blocks?.length ? blocks.map(renderBlock({ context, className, columns, version })) : null;
4
- export const renderBlock = ({ context, columns, className, version }) => (block, i) => {
3
+ export const renderBlocksList = ({ blocks, context, className, columns }) => blocks?.length ? blocks.map(renderBlock({ context, className, columns })) : null;
4
+ export const renderBlock = ({ context, columns, className }) => (block, i) => {
5
5
  const type = block?.blockListType;
6
6
  if (!type || !(type in EmbeddableBlocks)) {
7
7
  return null;
8
8
  }
9
9
  const columnsCountClass = columns === 2 ? 'w-1/2' : '';
10
10
  const EmbeddedBlock = EmbeddableBlocks[type];
11
- return (_jsx("div", { className: `${className} ${columnsCountClass}`, children: _jsx(EmbeddedBlock, { context: context, ...block, blockVersion: version, className: "!p-0" }) }, `block_${i}`));
11
+ return (_jsx("div", { className: `${className} ${columnsCountClass}`, children: _jsx(EmbeddedBlock, { context: context, ...block, className: "!p-0" }) }, `block_${i}`));
12
12
  };
13
13
  //# sourceMappingURL=renderBlocksList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"renderBlocksList.js","sourceRoot":"","sources":["../../../src/ui-kit/BlocksList/renderBlocksList.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAWtD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAC/B,MAAM,EACN,OAAO,EACP,SAAS,EACT,OAAO,EACP,OAAO,GACe,EAAE,EAAE,CAC1B,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAE5F,MAAM,CAAC,MAAM,WAAW,GACtB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAyB,EAAE,EAAE,CACpE,CAAC,KAAe,EAAE,CAAS,EAAE,EAAE;IAC7B,MAAM,IAAI,GAAG,KAAK,EAAE,aAAa,CAAC;IAClC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,gBAAgB,CAAC,EAAE;QACxC,OAAO,IAAI,CAAC;KACb;IACD,MAAM,iBAAiB,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,MAAM,aAAa,GAAa,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACvD,OAAO,CACL,cAAK,SAAS,EAAE,GAAG,SAAS,IAAI,iBAAiB,EAAE,YACjD,KAAC,aAAa,IAAC,OAAO,EAAE,OAAO,KAAM,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAC,MAAM,GAAG,IAD9B,SAAS,CAAC,EAAE,CAEhE,CACP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"renderBlocksList.js","sourceRoot":"","sources":["../../../src/ui-kit/BlocksList/renderBlocksList.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAStD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAyB,EAAE,EAAE,CACjG,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAEnF,MAAM,CAAC,MAAM,WAAW,GACtB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAyB,EAAE,EAAE,CAC3D,CAAC,KAAe,EAAE,CAAS,EAAE,EAAE;IAC7B,MAAM,IAAI,GAAG,KAAK,EAAE,aAAa,CAAC;IAClC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,gBAAgB,CAAC,EAAE;QACxC,OAAO,IAAI,CAAC;KACb;IACD,MAAM,iBAAiB,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,MAAM,aAAa,GAAa,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACvD,OAAO,CACL,cAAK,SAAS,EAAE,GAAG,SAAS,IAAI,iBAAiB,EAAE,YACjD,KAAC,aAAa,IAAC,OAAO,EAAE,OAAO,KAAM,KAAK,EAAE,SAAS,EAAC,MAAM,GAAG,IADP,SAAS,CAAC,EAAE,CAEhE,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -12,7 +12,7 @@ export const SwipeListControlDots = JSX(({ children, activeIndex, indexFraction,
12
12
  }
13
13
  const contentContainer = e.currentTarget.parentElement
14
14
  ?.previousElementSibling;
15
- contentContainer?.children[idx]?.scrollIntoView({ behavior: 'smooth' });
15
+ contentContainer?.children[idx]?.scrollIntoView({ behavior: 'smooth', block: 'nearest' });
16
16
  };
17
17
  return showDots && children?.length ? (_jsx("div", { className: "flex gap-2 mx-auto mt-5 w-fit", children: children?.map((_, idx) => (_jsx("div", { onClick: handleClick(idx), className: `${DOT_STYLES}`, style: getDotStyles(idx, activeIndex, indexFraction), "aria-hidden": true }, String(idx)))) })) : null;
18
18
  });
@@ -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,MAAM,UAAU,GAAG,yEAAyE,CAAC;AAC7F,MAAM,cAAc,GAAG,CAAC,CAAC;AACzB,MAAM,uBAAuB,GAAG,EAAE,CAAC;AACnC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAC7B,MAAM,yBAAyB,GAAG,GAAG,CAAC;AAQtC,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CACrC,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,EAAE;IACrD,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,CAAQ,EAAE,EAAE;QAChD,IAAI,GAAG,KAAK,WAAW,EAAE;YACvB,OAAO;SACR;QAED,MAAM,gBAAgB,GAAI,CAAC,CAAC,aAA6B,CAAC,aAAa;YACrE,EAAE,sBAAsB,CAAC;QAE3B,gBAAgB,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,cAAc,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC1E,CAAC,CAAC;IAEF,OAAO,QAAQ,IAAI,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CACpC,cAAK,SAAS,EAAC,+BAA+B,YAC3C,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CACzB,cAEE,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,EACzB,SAAS,EAAE,GAAG,UAAU,EAAE,EAC1B,KAAK,EAAE,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,aAAa,CAAC,yBAH/C,MAAM,CAAC,GAAG,CAAC,CAKhB,CACH,CAAC,GACE,CACP,CAAC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC,CACF,CAAC;AAEF,MAAM,YAAY,GAAG,CACnB,UAAkB,EAClB,WAAmB,EACnB,aAAqB,EACU,EAAE;IACjC,IAAI,UAAU,GAAG,WAAW,IAAI,UAAU,GAAG,WAAW,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAE1E,MAAM,YAAY,GAAG,CAAC,GAAG,aAAa,CAAC;IACvC,MAAM,aAAa,GAAG,aAAa,CAAC;IAEpC,OAAO,UAAU,KAAK,WAAW;QAC/B,CAAC,CAAC;YACE,OAAO,EAAE,GAAG,gBAAgB,GAAG,yBAAyB,GAAG,YAAY,EAAE;YACzE,KAAK,EAAE,GAAG,cAAc,GAAG,uBAAuB,GAAG,YAAY,IAAI;SACtE;QACH,CAAC,CAAC;YACE,OAAO,EAAE,GAAG,gBAAgB,GAAG,yBAAyB,GAAG,aAAa,EAAE;YAC1E,KAAK,EAAE,GAAG,cAAc,GAAG,uBAAuB,GAAG,aAAa,IAAI;SACvE,CAAC;AACR,CAAC,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,MAAM,UAAU,GAAG,yEAAyE,CAAC;AAC7F,MAAM,cAAc,GAAG,CAAC,CAAC;AACzB,MAAM,uBAAuB,GAAG,EAAE,CAAC;AACnC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAC7B,MAAM,yBAAyB,GAAG,GAAG,CAAC;AAQtC,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CACrC,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,EAAE;IACrD,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,CAAQ,EAAE,EAAE;QAChD,IAAI,GAAG,KAAK,WAAW,EAAE;YACvB,OAAO;SACR;QAED,MAAM,gBAAgB,GAAI,CAAC,CAAC,aAA6B,CAAC,aAAa;YACrE,EAAE,sBAAsB,CAAC;QAE3B,gBAAgB,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,cAAc,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAC5F,CAAC,CAAC;IAEF,OAAO,QAAQ,IAAI,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CACpC,cAAK,SAAS,EAAC,+BAA+B,YAC3C,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CACzB,cAEE,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,EACzB,SAAS,EAAE,GAAG,UAAU,EAAE,EAC1B,KAAK,EAAE,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,aAAa,CAAC,yBAH/C,MAAM,CAAC,GAAG,CAAC,CAKhB,CACH,CAAC,GACE,CACP,CAAC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC,CACF,CAAC;AAEF,MAAM,YAAY,GAAG,CACnB,UAAkB,EAClB,WAAmB,EACnB,aAAqB,EACU,EAAE;IACjC,IAAI,UAAU,GAAG,WAAW,IAAI,UAAU,GAAG,WAAW,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAE1E,MAAM,YAAY,GAAG,CAAC,GAAG,aAAa,CAAC;IACvC,MAAM,aAAa,GAAG,aAAa,CAAC;IAEpC,OAAO,UAAU,KAAK,WAAW;QAC/B,CAAC,CAAC;YACE,OAAO,EAAE,GAAG,gBAAgB,GAAG,yBAAyB,GAAG,YAAY,EAAE;YACzE,KAAK,EAAE,GAAG,cAAc,GAAG,uBAAuB,GAAG,YAAY,IAAI;SACtE;QACH,CAAC,CAAC;YACE,OAAO,EAAE,GAAG,gBAAgB,GAAG,yBAAyB,GAAG,aAAa,EAAE;YAC1E,KAAK,EAAE,GAAG,cAAc,GAAG,uBAAuB,GAAG,aAAa,IAAI;SACvE,CAAC;AACR,CAAC,CAAC"}
@@ -3,8 +3,14 @@
3
3
  Returns array of tuples consisting of [start, end] boundary scrollLeft values.
4
4
  */
5
5
  export const getScrollPoints = ({ gap, padding, clientWidth, scrollWidth, childElementCount, itemWidth, }) => {
6
- const scrollItemWidth = itemWidth + gap;
7
6
  const scrollableDistance = scrollWidth - clientWidth;
7
+ if (childElementCount === 2) {
8
+ return [
9
+ [0, scrollableDistance],
10
+ [scrollableDistance, scrollWidth],
11
+ ];
12
+ }
13
+ const scrollItemWidth = itemWidth + gap;
8
14
  const edgeScrollDistance = clientWidth - gap - padding;
9
15
  const lastScrollableIdx = childElementCount - 2;
10
16
  const scrollPoints = new Array(childElementCount)
@@ -1 +1 @@
1
- {"version":3,"file":"getScrollPoints.js","sourceRoot":"","sources":["../../../../src/ui-kit/SwipeListControl/utils/getScrollPoints.ts"],"names":[],"mappings":"AAAA;;;EAGE;AACF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAC9B,GAAG,EACH,OAAO,EACP,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,SAAS,GAQV,EAAE,EAAE;IACH,MAAM,eAAe,GAAG,SAAS,GAAG,GAAG,CAAC;IACxC,MAAM,kBAAkB,GAAG,WAAW,GAAG,WAAW,CAAC;IACrD,MAAM,kBAAkB,GAAG,WAAW,GAAG,GAAG,GAAG,OAAO,CAAC;IAEvD,MAAM,iBAAiB,GAAG,iBAAiB,GAAG,CAAC,CAAC;IAChD,MAAM,YAAY,GAAuB,IAAI,KAAK,CAAC,iBAAiB,CAAC;SAClE,IAAI,CAAC,CAAC,CAAC;SACP,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CACd,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,iBAAiB;QACpC,CAAC,CAAC;YACE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;YACrD,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,kBAAkB;SAClD;QACH,CAAC,CAAC;YACE,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,eAAe,GAAG,kBAAkB;YAChD,GAAG,GAAG,eAAe,GAAG,kBAAkB;SAC3C,CACN,CAAC;IACJ,YAAY,CAAC,iBAAiB,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;IAExE,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC"}
1
+ {"version":3,"file":"getScrollPoints.js","sourceRoot":"","sources":["../../../../src/ui-kit/SwipeListControl/utils/getScrollPoints.ts"],"names":[],"mappings":"AAAA;;;EAGE;AACF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAC9B,GAAG,EACH,OAAO,EACP,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,SAAS,GAQV,EAAsB,EAAE;IACvB,MAAM,kBAAkB,GAAG,WAAW,GAAG,WAAW,CAAC;IAErD,IAAI,iBAAiB,KAAK,CAAC,EAAE;QAC3B,OAAO;YACL,CAAC,CAAC,EAAE,kBAAkB,CAAC;YACvB,CAAC,kBAAkB,EAAE,WAAW,CAAC;SAClC,CAAC;KACH;IAED,MAAM,eAAe,GAAG,SAAS,GAAG,GAAG,CAAC;IACxC,MAAM,kBAAkB,GAAG,WAAW,GAAG,GAAG,GAAG,OAAO,CAAC;IAEvD,MAAM,iBAAiB,GAAG,iBAAiB,GAAG,CAAC,CAAC;IAChD,MAAM,YAAY,GAAuB,IAAI,KAAK,CAAC,iBAAiB,CAAC;SAClE,IAAI,CAAC,CAAC,CAAC;SACP,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CACd,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,iBAAiB;QACpC,CAAC,CAAC;YACE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;YACrD,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,kBAAkB;SAClD;QACH,CAAC,CAAC;YACE,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,eAAe,GAAG,kBAAkB;YAChD,GAAG,GAAG,eAAe,GAAG,kBAAkB;SAC3C,CACN,CAAC;IACJ,YAAY,CAAC,iBAAiB,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;IAExE,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC"}
@@ -3,6 +3,7 @@
3
3
  "accordionItems": [
4
4
  {
5
5
  "label": "Аккордеон 1",
6
+ "labelIcon": "CardIcon",
6
7
  "blocks": [
7
8
  {
8
9
  "blockListType": "TextBlock",
@@ -18,6 +19,7 @@
18
19
  },
19
20
  {
20
21
  "label": "Аккордеон 2",
22
+ "labelIcon": "CardIcon",
21
23
  "blocks": [
22
24
  {
23
25
  "blockListType": "TextBlock",
@@ -33,6 +35,7 @@
33
35
  },
34
36
  {
35
37
  "label": "Аккордеон 3",
38
+ "labelIcon": "CardIcon",
36
39
  "blocks": [
37
40
  {
38
41
  "blockListType": "TextBlock",
@@ -1,5 +1,6 @@
1
- import type { BlockDef, ColumnsCount } from '../../ui-kit/BlocksList/BlocksListProps';
1
+ import type { BlockDef } from '../../ui-kit/BlocksList/BlocksListProps';
2
2
  import type { BlockVersion } from '../../model/BlockVersion';
3
+ import type { IconName } from '../../icons/IconName';
3
4
  /**
4
5
  * @title Элемент списка
5
6
  */
@@ -20,9 +21,7 @@ export interface AccordionItemCommonProps {
20
21
  * @default false
21
22
  */
22
23
  bordered?: boolean; // TODO: только для мобильной версии
23
- version?: BlockVersion;
24
-
25
- columns?: ColumnsCount;
24
+ labelIcon?: IconName; // TODO: только для мобильной версии
26
25
  }
27
26
 
28
27
  /**
@@ -35,7 +34,7 @@ export interface AccordionContent {
35
34
  /** @title Список */
36
35
  accordionItems?: AccordionItemCommonProps[];
37
36
  /** @title Описание */
38
- description?: string; // TODO: только для мобильной версии
37
+ description?: string;
39
38
  /**
40
39
  * @title Отображать/скрывать обводку у элемента списка
41
40
  * @default false
@@ -7,34 +7,39 @@ import { useActiveHandler } from './useActiveHandler';
7
7
 
8
8
  export interface AccordionItemProps extends AccordionItemCommonProps, UniBlockProps {}
9
9
 
10
- export const AccordionItem = JSX<AccordionItemProps>(({ label, blocks, bordered, context }) => {
11
- const { hasContent, icon, handleToggle } = useActiveHandler({
12
- context,
13
- blocks,
14
- });
10
+ export const AccordionItem = JSX<AccordionItemProps>(
11
+ ({ label, labelIcon, blocks, bordered, context }) => {
12
+ const { hasContent, icon, handleToggle } = useActiveHandler({
13
+ context,
14
+ blocks,
15
+ });
15
16
 
16
- return (
17
- <li
18
- className={`${
19
- bordered ? 'border p-4 rounded mb-4' : 'border-0 border-b last:border-b-0'
20
- } border-solid border-main-divider`}
21
- >
22
- <button
23
- className={`border-none bg-transparent flex justify-between text-left w-full font-sans text-primary-text
17
+ return (
18
+ <li className={`${borderedLiClass(bordered)} border-solid border-main-divider`}>
19
+ <button
20
+ className={`border-none bg-transparent flex justify-between text-left w-full font-sans text-primary-text
24
21
  ${bordered ? '' : 'py-[14px] px-0'}
25
22
  ${hasContent ? 'group cursor-pointer' : ''}`}
26
- onClick={handleToggle}
27
- >
28
- <span
29
- className={`text-m-title-xs pr-2.5 font-medium ${
30
- hasContent ? 'group-hover:text-primary-main' : ''
31
- }`}
23
+ onClick={handleToggle}
32
24
  >
33
- {label}
34
- </span>
35
- {hasContent ? <Icon name={icon} width="24" height="24" asSVG /> : null}
36
- </button>
37
- {hasContent ? <AccordionItemInner blocks={blocks} context={context} /> : null}
38
- </li>
39
- );
40
- });
25
+ <span
26
+ className={`text-m-title-xs pr-2.5 font-medium flex ${
27
+ hasContent ? 'group-hover:text-primary-main' : ''
28
+ }`}
29
+ >
30
+ {labelIcon ? (
31
+ <Icon name={labelIcon} width="24" height="24" asSVG className="mr-3" />
32
+ ) : null}
33
+ {label}
34
+ </span>
35
+ {hasContent ? <Icon name={icon} width="24" height="24" asSVG /> : null}
36
+ </button>
37
+ {hasContent ? <AccordionItemInner blocks={blocks} context={context} /> : null}
38
+ </li>
39
+ );
40
+ },
41
+ );
42
+
43
+ function borderedLiClass(bordered) {
44
+ return bordered ? 'border p-4 rounded mb-4' : 'border-0 border-b last:border-b-0';
45
+ }
@@ -2,14 +2,11 @@ import { JSX } from '@redneckz/uni-jsx';
2
2
  import type { AccordionItemProps } from './AccordionItem';
3
3
  import { renderBlocksList } from '../../ui-kit/BlocksList/renderBlocksList';
4
4
 
5
- export const AccordionItemInner = JSX<AccordionItemProps>(
6
- ({ blocks, context, version = 'primary' }) => {
7
- const className = 'mb-5 last:mb-0 first:mt-2';
8
- const columns = 1;
9
- return (
10
- <div className="transition-all duration-300 max-h-0 overflow-hidden group-last:last:pb-0">
11
- {renderBlocksList({ context, className, columns, blocks, version })}
12
- </div>
13
- );
14
- },
15
- );
5
+ export const AccordionItemInner = JSX<AccordionItemProps>(({ blocks, context }) => {
6
+ const className = 'mb-5 last:mb-0 first:mt-2';
7
+ return (
8
+ <div className="transition-all duration-300 max-h-0 overflow-hidden group-last:last:pb-0">
9
+ {renderBlocksList({ context, className, blocks })}
10
+ </div>
11
+ );
12
+ });
@@ -32,7 +32,7 @@ export const MediaButton = JSX<MediaButtonProps>(({ href }) => {
32
32
 
33
33
  return (
34
34
  <a
35
- className="flex items-center justify-center border border-solid border-main-divider rounded-full no-underline outline-none w-[38px] h-[38px] hover:text-primary-main"
35
+ className="flex items-center justify-center border border-solid border-main-divider rounded-full no-underline outline-none w-[40px] h-[40px] box-border hover:text-primary-main"
36
36
  href={href}
37
37
  aria-label={label}
38
38
  target="_blank"
@@ -0,0 +1,3 @@
1
+ {
2
+ "defaultLocation": "Москва"
3
+ }
@@ -15,11 +15,6 @@ export interface blockItemCommonProps {
15
15
  isExpanded?: boolean;
16
16
  /** @title Блоки */
17
17
  blocks?: BlockDef[];
18
- /**
19
- * @title Отображать/скрывать обводку элемента
20
- * @default false
21
- */
22
- bordered?: boolean; // TODO: только для мобильной версии
23
18
  columns?: ColumnsCount;
24
19
  }
25
20
 
@@ -29,13 +24,9 @@ export interface blockItemCommonProps {
29
24
  export interface OtherProductsContent {
30
25
  /** @title Заголовок */
31
26
  title?: string;
32
- /** @title Список */
33
- blockItems?: blockItemCommonProps[];
34
- /** @title Подзаголовок */
35
- description?: string; // TODO: только для мобильной версии
36
27
  /**
37
- * @title Отображать/скрывать обводку у элемента списка
38
- * @default false
28
+ * @title Список
29
+ * @maxItems 10
39
30
  */
40
- bordered?: boolean; // TODO: только для мобильной версии
31
+ blockItems?: blockItemCommonProps[];
41
32
  }
@@ -23,7 +23,7 @@ export interface TextBlockContent {
23
23
  iconVersion?: TextBlockIconVersion;
24
24
  image?: Picture;
25
25
  blockVersion?: TextBlockVersion;
26
- /** @title Маркеры списка (моб.) */ // TODO: mobile prop
26
+ /** @title Буллиты */ // TODO: mobile prop
27
27
  isDotted?: boolean;
28
28
  /** @title Список (моб.) */ // TODO: mobile prop
29
29
  items?: string[];
@@ -1,23 +1,15 @@
1
1
  import { Headline } from '../../components/Headline/Headline';
2
2
  import { LinkDocs } from '../../components/LinkDocs/LinkDocs';
3
- import { PictureText } from '../../components/PictureText/PictureText';
4
3
  import { ProductBlock } from '../../components/ProductBlock/ProductBlock';
5
4
  import { TextBlock } from '../../components/TextBlock/TextBlock';
6
- import { Tile } from '../../components/Tile/Tile';
7
- import { ProductTile } from '../../components/ProductTile/ProductTile';
8
5
  import { Gallery } from '../../components/Gallery/Gallery';
9
- import { MiniGallery } from '../../components/MiniGallery/MiniGallery';
10
6
  import { LinkList } from '../../components/LinkList/LinkList';
11
7
 
12
8
  export const EmbeddableBlocks = {
13
9
  Headline,
14
10
  LinkDocs,
15
11
  TextBlock,
16
- PictureText,
17
12
  ProductBlock,
18
- Tile,
19
- ProductTile,
20
13
  Gallery,
21
- MiniGallery,
22
14
  LinkList,
23
15
  };
@@ -2,27 +2,19 @@ import type { JSXBlock } from '../../components/ContentPage/ContentPage';
2
2
  import type { ContentPageContext } from '../../components/ContentPage/ContentPageContext';
3
3
  import type { BlockDef, ColumnsCount } from './BlocksListProps';
4
4
  import { EmbeddableBlocks } from './EmbeddableBlocks';
5
- import { BlockVersion } from '../../model/BlockVersion';
6
5
 
7
6
  type EmbeddableBlocksProps = {
8
7
  blocks?: BlockDef[];
9
8
  context: ContentPageContext;
10
9
  columns?: ColumnsCount;
11
10
  className?: string;
12
- version?: BlockVersion;
13
11
  };
14
12
 
15
- export const renderBlocksList = ({
16
- blocks,
17
- context,
18
- className,
19
- columns,
20
- version,
21
- }: EmbeddableBlocksProps) =>
22
- blocks?.length ? blocks.map(renderBlock({ context, className, columns, version })) : null;
13
+ export const renderBlocksList = ({ blocks, context, className, columns }: EmbeddableBlocksProps) =>
14
+ blocks?.length ? blocks.map(renderBlock({ context, className, columns })) : null;
23
15
 
24
16
  export const renderBlock =
25
- ({ context, columns, className, version }: EmbeddableBlocksProps) =>
17
+ ({ context, columns, className }: EmbeddableBlocksProps) =>
26
18
  (block: BlockDef, i: number) => {
27
19
  const type = block?.blockListType;
28
20
  if (!type || !(type in EmbeddableBlocks)) {
@@ -32,7 +24,7 @@ export const renderBlock =
32
24
  const EmbeddedBlock: JSXBlock = EmbeddableBlocks[type];
33
25
  return (
34
26
  <div className={`${className} ${columnsCountClass}`} key={`block_${i}`}>
35
- <EmbeddedBlock context={context} {...block} blockVersion={version} className="!p-0" />
27
+ <EmbeddedBlock context={context} {...block} className="!p-0" />
36
28
  </div>
37
29
  );
38
30
  };
@@ -22,7 +22,7 @@ export const SwipeListControlDots = JSX<SwipeListControlDotsProps>(
22
22
  const contentContainer = (e.currentTarget as HTMLElement).parentElement
23
23
  ?.previousElementSibling;
24
24
 
25
- contentContainer?.children[idx]?.scrollIntoView({ behavior: 'smooth' });
25
+ contentContainer?.children[idx]?.scrollIntoView({ behavior: 'smooth', block: 'nearest' });
26
26
  };
27
27
 
28
28
  return showDots && children?.length ? (
@@ -17,8 +17,26 @@ const scrollPoints: [number, number][] = [
17
17
  [1414, 1914],
18
18
  ];
19
19
 
20
+ const twoItemsScrollPointsProps = {
21
+ gap: 14,
22
+ padding: 16,
23
+ clientWidth: 414,
24
+ scrollWidth: 794,
25
+ childElementCount: 2,
26
+ itemWidth: 380,
27
+ };
28
+
29
+ const twoItemsScrollPoints: [number, number][] = [
30
+ [0, 380],
31
+ [380, 794],
32
+ ];
33
+
20
34
  describe('getScrollPoints', () => {
21
35
  it('should return array containing scroll breakpoints delimiting each child', () => {
22
36
  expect(getScrollPoints(props)).toEqual(scrollPoints);
23
37
  });
38
+
39
+ it('should correctly handle case with 2 items in container', () => {
40
+ expect(getScrollPoints(twoItemsScrollPointsProps)).toEqual(twoItemsScrollPoints);
41
+ });
24
42
  });
@@ -16,9 +16,17 @@ export const getScrollPoints = ({
16
16
  scrollWidth: number;
17
17
  childElementCount: number;
18
18
  itemWidth: number;
19
- }) => {
20
- const scrollItemWidth = itemWidth + gap;
19
+ }): [number, number][] => {
21
20
  const scrollableDistance = scrollWidth - clientWidth;
21
+
22
+ if (childElementCount === 2) {
23
+ return [
24
+ [0, scrollableDistance],
25
+ [scrollableDistance, scrollWidth],
26
+ ];
27
+ }
28
+
29
+ const scrollItemWidth = itemWidth + gap;
22
30
  const edgeScrollDistance = clientWidth - gap - padding;
23
31
 
24
32
  const lastScrollableIdx = childElementCount - 2;