@redneckz/wildless-cms-uni-blocks 0.8.18 → 0.8.19

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 (90) hide show
  1. package/bundle/blocks.schema.json +1 -1
  2. package/bundle/bundle.umd.js +20 -16
  3. package/bundle/bundle.umd.min.js +1 -1
  4. package/bundle/ui-kit/SwipeListControl/SwipeListContainer.d.ts +0 -2
  5. package/bundle/ui-kit/SwipeListControl/SwipeListControlContent.d.ts +2 -7
  6. package/bundle/ui-kit/SwipeListControl/SwipeListControlDots.d.ts +1 -1
  7. package/bundle/ui-kit/SwipeListControl/SwipeListControlProps.d.ts +12 -3
  8. package/bundle/ui-kit/SwipeListControl/getContainerHeight.d.ts +4 -0
  9. package/dist/components/CarouselLinks/CarouselLinks.js +1 -1
  10. package/dist/ui-kit/LinkButton/LinkButton.js +4 -4
  11. package/dist/ui-kit/LinkButton/LinkButton.js.map +1 -1
  12. package/dist/ui-kit/SwipeListControl/SwipeListContainer.d.ts +0 -2
  13. package/dist/ui-kit/SwipeListControl/SwipeListContainer.js +4 -8
  14. package/dist/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -1
  15. package/dist/ui-kit/SwipeListControl/SwipeListControl.js +2 -2
  16. package/dist/ui-kit/SwipeListControl/SwipeListControl.js.map +1 -1
  17. package/dist/ui-kit/SwipeListControl/SwipeListControlContent.d.ts +2 -7
  18. package/dist/ui-kit/SwipeListControl/SwipeListControlDots.d.ts +1 -1
  19. package/dist/ui-kit/SwipeListControl/SwipeListControlProps.d.ts +12 -3
  20. package/dist/ui-kit/SwipeListControl/getContainerHeight.d.ts +4 -0
  21. package/dist/ui-kit/SwipeListControl/getContainerHeight.js +13 -0
  22. package/dist/ui-kit/SwipeListControl/getContainerHeight.js.map +1 -0
  23. package/lib/components/CarouselLinks/CarouselLinks.js +1 -1
  24. package/lib/ui-kit/LinkButton/LinkButton.js +4 -4
  25. package/lib/ui-kit/LinkButton/LinkButton.js.map +1 -1
  26. package/lib/ui-kit/SwipeListControl/SwipeListContainer.d.ts +0 -2
  27. package/lib/ui-kit/SwipeListControl/SwipeListContainer.js +4 -8
  28. package/lib/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -1
  29. package/lib/ui-kit/SwipeListControl/SwipeListControl.js +2 -2
  30. package/lib/ui-kit/SwipeListControl/SwipeListControl.js.map +1 -1
  31. package/lib/ui-kit/SwipeListControl/SwipeListControlContent.d.ts +2 -7
  32. package/lib/ui-kit/SwipeListControl/SwipeListControlDots.d.ts +1 -1
  33. package/lib/ui-kit/SwipeListControl/SwipeListControlProps.d.ts +12 -3
  34. package/lib/ui-kit/SwipeListControl/getContainerHeight.d.ts +4 -0
  35. package/lib/ui-kit/SwipeListControl/getContainerHeight.js +10 -0
  36. package/lib/ui-kit/SwipeListControl/getContainerHeight.js.map +1 -0
  37. package/mobile/bundle/bundle.umd.js +16 -11
  38. package/mobile/bundle/bundle.umd.min.js +1 -1
  39. package/mobile/bundle/ui-kit/SwipeListControl/SwipeListContainer.d.ts +0 -2
  40. package/mobile/bundle/ui-kit/SwipeListControl/SwipeListControlContent.d.ts +2 -7
  41. package/mobile/bundle/ui-kit/SwipeListControl/SwipeListControlDots.d.ts +1 -1
  42. package/mobile/bundle/ui-kit/SwipeListControl/SwipeListControlProps.d.ts +12 -3
  43. package/mobile/bundle/ui-kit/SwipeListControl/getContainerHeight.d.ts +4 -0
  44. package/mobile/dist/components/CarouselLinks/CarouselLinks.js +1 -1
  45. package/mobile/dist/ui-kit/LinkButton/LinkButton.js +4 -4
  46. package/mobile/dist/ui-kit/LinkButton/LinkButton.js.map +1 -1
  47. package/mobile/dist/ui-kit/SwipeListControl/SwipeListContainer.d.ts +0 -2
  48. package/mobile/dist/ui-kit/SwipeListControl/SwipeListContainer.js +4 -8
  49. package/mobile/dist/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -1
  50. package/mobile/dist/ui-kit/SwipeListControl/SwipeListControl.js +2 -2
  51. package/mobile/dist/ui-kit/SwipeListControl/SwipeListControl.js.map +1 -1
  52. package/mobile/dist/ui-kit/SwipeListControl/SwipeListControlContent.d.ts +2 -7
  53. package/mobile/dist/ui-kit/SwipeListControl/SwipeListControlDots.d.ts +1 -1
  54. package/mobile/dist/ui-kit/SwipeListControl/SwipeListControlProps.d.ts +12 -3
  55. package/mobile/dist/ui-kit/SwipeListControl/getContainerHeight.d.ts +4 -0
  56. package/mobile/dist/ui-kit/SwipeListControl/getContainerHeight.js +13 -0
  57. package/mobile/dist/ui-kit/SwipeListControl/getContainerHeight.js.map +1 -0
  58. package/mobile/lib/components/CarouselLinks/CarouselLinks.js +1 -1
  59. package/mobile/lib/ui-kit/LinkButton/LinkButton.js +4 -4
  60. package/mobile/lib/ui-kit/LinkButton/LinkButton.js.map +1 -1
  61. package/mobile/lib/ui-kit/SwipeListControl/SwipeListContainer.d.ts +0 -2
  62. package/mobile/lib/ui-kit/SwipeListControl/SwipeListContainer.js +4 -8
  63. package/mobile/lib/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -1
  64. package/mobile/lib/ui-kit/SwipeListControl/SwipeListControl.js +2 -2
  65. package/mobile/lib/ui-kit/SwipeListControl/SwipeListControl.js.map +1 -1
  66. package/mobile/lib/ui-kit/SwipeListControl/SwipeListControlContent.d.ts +2 -7
  67. package/mobile/lib/ui-kit/SwipeListControl/SwipeListControlDots.d.ts +1 -1
  68. package/mobile/lib/ui-kit/SwipeListControl/SwipeListControlProps.d.ts +12 -3
  69. package/mobile/lib/ui-kit/SwipeListControl/getContainerHeight.d.ts +4 -0
  70. package/mobile/lib/ui-kit/SwipeListControl/getContainerHeight.js +10 -0
  71. package/mobile/lib/ui-kit/SwipeListControl/getContainerHeight.js.map +1 -0
  72. package/mobile/src/components/CarouselLinks/CarouselLinks.tsx +1 -1
  73. package/mobile/src/components/CarouselLinks/CarouselLinks.ui.json +8 -0
  74. package/mobile/src/ui-kit/LinkButton/LinkButton.tsx +7 -7
  75. package/mobile/src/ui-kit/SwipeListControl/SwipeListContainer.tsx +4 -10
  76. package/mobile/src/ui-kit/SwipeListControl/SwipeListControl.tsx +2 -0
  77. package/mobile/src/ui-kit/SwipeListControl/SwipeListControlContent.ts +2 -8
  78. package/mobile/src/ui-kit/SwipeListControl/SwipeListControlDots.tsx +1 -1
  79. package/mobile/src/ui-kit/SwipeListControl/SwipeListControlProps.ts +14 -3
  80. package/mobile/src/ui-kit/SwipeListControl/getContainerHeight.ts +10 -0
  81. package/package.json +1 -1
  82. package/src/components/CarouselLinks/CarouselLinks.tsx +1 -1
  83. package/src/components/CarouselLinks/CarouselLinks.ui.json +8 -0
  84. package/src/ui-kit/LinkButton/LinkButton.tsx +7 -7
  85. package/src/ui-kit/SwipeListControl/SwipeListContainer.tsx +4 -10
  86. package/src/ui-kit/SwipeListControl/SwipeListControl.tsx +2 -0
  87. package/src/ui-kit/SwipeListControl/SwipeListControlContent.ts +2 -8
  88. package/src/ui-kit/SwipeListControl/SwipeListControlDots.tsx +1 -1
  89. package/src/ui-kit/SwipeListControl/SwipeListControlProps.ts +14 -3
  90. package/src/ui-kit/SwipeListControl/getContainerHeight.ts +10 -0
@@ -1 +1 @@
1
- {"version":3,"file":"LinkButton.js","sourceRoot":"","sources":["../../../src/ui-kit/LinkButton/LinkButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAExC,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAEjC,MAAM,eAAe,GAAG;;uEAE+C,CAAC;AAExE,MAAM,sBAAsB,GAC1B,sEAAsE,CAAC;AAMzE,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAC3B,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE,EAAE,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE;IACnD,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CACL,eAAK,SAAS,EAAE,yDAAyD,SAAS,EAAE,aAClF,aAAG,SAAS,EAAE,eAAe,EAAE,IAAI,EAAC,MAAM,EAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,aACnE,cAAK,SAAS,EAAC,OAAO,YAAE,IAAI,GAAO,EACnC,cAAK,SAAS,EAAC,SAAS,YACtB,KAAC,GAAG,IACF,SAAS,EAAC,8FAA8F,EACxG,KAAK,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,WAAW,EAAE,OAAO,EAAE,EACvD,cAAc,EAAC,oCAAoC,EACnD,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,KAAK,SACL,GACE,IACJ,EACJ,cAAK,SAAS,EAAE,GAAG,sBAAsB,gBAAgB,GAAI,EAC7D,cAAK,SAAS,EAAE,GAAG,sBAAsB,YAAY,GAAI,IACrD,CACP,CAAC;AACJ,CAAC,CACF,CAAC"}
1
+ {"version":3,"file":"LinkButton.js","sourceRoot":"","sources":["../../../src/ui-kit/LinkButton/LinkButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAG9C,MAAM,eAAe,GAAG;;uEAE+C,CAAC;AAExE,MAAM,sBAAsB,GAC1B,sEAAsE,CAAC;AAMzE,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAC3B,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE,EAAE,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE;IACnD,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,aAAa,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAE7C,OAAO,IAAI,CAAC,CAAC,CAAC,CACZ,eAAK,SAAS,EAAE,yDAAyD,SAAS,EAAE,aAClF,aAAG,SAAS,EAAE,eAAe,EAAE,IAAI,EAAC,MAAM,KAAK,aAAa,aAC1D,cAAK,SAAS,EAAC,OAAO,YAAE,IAAI,GAAO,EACnC,cAAK,SAAS,EAAC,SAAS,YACtB,KAAC,GAAG,IACF,SAAS,EAAC,8FAA8F,EACxG,KAAK,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,WAAW,EAAE,OAAO,EAAE,EACvD,cAAc,EAAC,oCAAoC,EACnD,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,KAAK,SACL,GACE,IACJ,EACJ,cAAK,SAAS,EAAE,GAAG,sBAAsB,gBAAgB,GAAI,EAC7D,cAAK,SAAS,EAAE,GAAG,sBAAsB,YAAY,GAAI,IACrD,CACP,CAAC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC,CACF,CAAC"}
@@ -1,4 +1,3 @@
1
- import type { SwipeListControlType } from './SwipeListControlContent';
2
1
  import type { SwipeContainerProps } from './SwipeListControlProps';
3
2
  declare type ItemsVisibilityList = Array<IntersectionObserverEntry | undefined>;
4
3
  declare type SwipeListItemWidthAuto = 0;
@@ -15,7 +14,6 @@ interface SwipeListContainerProps extends SwipeContainerProps {
15
14
  snapAlign?: 'snap-start' | 'snap-center' | 'snap-end';
16
15
  onVisibleItemsChange?: (itemsVisibilityList: ItemsVisibilityList) => void;
17
16
  onVisibleIndicesChange?: (indices: number[]) => void;
18
- listType?: SwipeListControlType;
19
17
  }
20
18
  export declare const SwipeListContainer: import("@redneckz/uni-jsx").UNIComponent<SwipeListContainerProps, any, any>;
21
19
  export {};
@@ -3,10 +3,10 @@ import { JSX } from '@redneckz/uni-jsx';
3
3
  import { useCallback, useRef } from '@redneckz/uni-jsx/lib/hooks';
4
4
  import { mapChildren } from '../../utils/mapChildren.js';
5
5
  import { style } from '../../utils/style.js';
6
+ import { getContainerHeight } from './getContainerHeight.js';
6
7
  import { SwipeListItem } from './SwipeListItem.js';
7
8
  const childStyleMap = ['min-w-[100%]', 'min-w-[50%]', 'min-w-[33.33%]', 'min-w-[25%]'];
8
- const DEFAULT_HEIGHT = '866px';
9
- export const SwipeListContainer = JSX(({ className = '', containerRef, activeIndex, visibleItemCount = 0, gap = 0, padding = 0, listType = 'horizontal-list', snapAlign = 'snap-center', children, onVisibleItemsChange, onVisibleIndicesChange, }) => {
9
+ export const SwipeListContainer = JSX(({ className = '', containerRef, activeIndex, visibleItemCount = 0, gap = 0, padding = 0, listType = 'horizontal-list', snapAlign = 'snap-center', minHeight, children, onVisibleItemsChange, onVisibleIndicesChange, }) => {
10
10
  const observerOptions = {
11
11
  sensitivity: 1,
12
12
  rootRef: containerRef,
@@ -24,14 +24,10 @@ export const SwipeListContainer = JSX(({ className = '', containerRef, activeInd
24
24
  const isHorizontalList = listType === 'horizontal-list';
25
25
  const containerStyle = {
26
26
  ...(isHorizontalList ? getContainerOffset(padding, additionPadding) : {}),
27
- ...(isVerticalList ? { height: DEFAULT_HEIGHT } : {}),
27
+ ...(isVerticalList ? getContainerHeight(minHeight) : {}),
28
28
  gap: `${gap}px`,
29
29
  };
30
- const itemContainerStyle = {
31
- ...(isHorizontalList ? getContainerOffset(padding / 4) : {}),
32
- maxHeight: DEFAULT_HEIGHT,
33
- };
34
- return (_jsx("div", { className: style('box-border overflow-auto no-scrollbar', listType, className), style: containerStyle, role: "list", ref: containerRef, children: mapChildren((child, idx) => (_jsx(SwipeListItem, { className: style(snapAlign, visibleItemCount ? childStyleMap[visibleItemCount - 1] : '', isVerticalList ? 'h-full' : ''), style: itemContainerStyle, activeIndex: activeIndex, idx: idx, observerOptions: observerOptions, onIntersection: handleIntersection, children: child }, String(idx))))(children) }));
30
+ return (_jsx("div", { className: style('box-border overflow-auto no-scrollbar', listType, className), style: containerStyle, role: "list", ref: containerRef, children: mapChildren((child, idx) => (_jsx(SwipeListItem, { className: style(snapAlign, visibleItemCount ? childStyleMap[visibleItemCount - 1] : '', isVerticalList ? 'h-full' : ''), style: isHorizontalList ? getContainerOffset(padding / 4) : {}, activeIndex: activeIndex, idx: idx, observerOptions: observerOptions, onIntersection: handleIntersection, children: child }, String(idx))))(children) }));
35
31
  });
36
32
  // Styles used to compensate outer container padding to get rid of clipping effect
37
33
  const getContainerOffset = (padding, additionalPadding = 0) => ({
@@ -1 +1 @@
1
- {"version":3,"file":"SwipeListContainer.js","sourceRoot":"","sources":["../../../src/ui-kit/SwipeListControl/SwipeListContainer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAElE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAG1C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAoBhD,MAAM,aAAa,GAAG,CAAC,cAAc,EAAE,aAAa,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC;AAEvF,MAAM,cAAc,GAAG,OAAO,CAAC;AAE/B,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CACnC,CAAC,EACC,SAAS,GAAG,EAAE,EACd,YAAY,EACZ,WAAW,EACX,gBAAgB,GAAG,CAAC,EACpB,GAAG,GAAG,CAAC,EACP,OAAO,GAAG,CAAC,EACX,QAAQ,GAAG,iBAAiB,EAC5B,SAAS,GAAG,aAAa,EACzB,QAAQ,EACR,oBAAoB,EACpB,sBAAsB,GACvB,EAAE,EAAE;IACH,MAAM,eAAe,GAAgC;QACnD,WAAW,EAAE,CAAC;QACd,OAAO,EAAE,YAAY;KACtB,CAAC;IAEF,MAAM,sBAAsB,GAAG,MAAM,CAAsB,EAAE,CAAC,CAAC;IAC/D,MAAM,kBAAkB,GAAG,WAAW,CACpC,CAAC,GAAW,EAAE,KAAgC,EAAE,EAAE;QAChD,MAAM,mBAAmB,GAAG,CAAC,GAAG,CAAC,sBAAsB,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;QACxE,mBAAmB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACjC,sBAAsB,CAAC,OAAO,GAAG,mBAAmB,CAAC;QAErD,oBAAoB,IAAI,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;QAClE,sBAAsB,IAAI,sBAAsB,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAC3F,CAAC,EACD,CAAC,oBAAoB,EAAE,sBAAsB,CAAC,CAC/C,CAAC;IAEF,MAAM,eAAe,GAAG,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEtF,MAAM,cAAc,GAAG,QAAQ,KAAK,eAAe,CAAC;IACpD,MAAM,gBAAgB,GAAG,QAAQ,KAAK,iBAAiB,CAAC;IACxD,MAAM,cAAc,GAAG;QACrB,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,GAAG,EAAE,GAAG,GAAG,IAAI;KAChB,CAAC;IACF,MAAM,kBAAkB,GAAG;QACzB,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,SAAS,EAAE,cAAc;KAC1B,CAAC;IAEF,OAAO,CACL,cACE,SAAS,EAAE,KAAK,CAAC,uCAAuC,EAAE,QAAQ,EAAE,SAAS,CAAC,EAC9E,KAAK,EAAE,cAAc,EACrB,IAAI,EAAC,MAAM,EACX,GAAG,EAAE,YAAY,YAEhB,WAAW,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAC3B,KAAC,aAAa,IAEZ,SAAS,EAAE,KAAK,CACd,SAAS,EACT,gBAAgB,CAAC,CAAC,CAAC,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAC3D,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAC/B,EACD,KAAK,EAAE,kBAAkB,EACzB,WAAW,EAAE,WAAW,EACxB,GAAG,EAAE,GAAG,EACR,eAAe,EAAE,eAAe,EAChC,cAAc,EAAE,kBAAkB,YAEjC,KAAK,IAZD,MAAM,CAAC,GAAG,CAAC,CAaF,CACjB,CAAC,CAAC,QAAQ,CAAC,GACR,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,kFAAkF;AAClF,MAAM,kBAAkB,GAAG,CAAC,OAAe,EAAE,iBAAiB,GAAG,CAAC,EAA0B,EAAE,CAAC,CAAC;IAC9F,UAAU,EAAE,GAAG,CAAC,OAAO,IAAI;IAC3B,WAAW,EAAE,GAAG,CAAC,OAAO,IAAI;IAC5B,WAAW,EAAE,GAAG,OAAO,IAAI;IAC3B,YAAY,EAAE,GAAG,OAAO,GAAG,iBAAiB,IAAI;CACjD,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,CAAC,mBAAwC,EAAE,EAAE,CACrE,mBAAmB;KAChB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAmD,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;KACtE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,iBAAiB,IAAI,GAAG,CAAC;KAChD,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"SwipeListContainer.js","sourceRoot":"","sources":["../../../src/ui-kit/SwipeListControl/SwipeListContainer.tsx"],"names":[],"mappings":"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"}
@@ -11,13 +11,13 @@ const DEFAULT_GAP = 14;
11
11
  and get rid of a clipping effect caused by overflow: hidden.
12
12
  */
13
13
  const DEFAULT_PADDING = 16;
14
- export const SwipeListControl = JSX(({ className = '', gap = DEFAULT_GAP, padding = DEFAULT_PADDING, showDots = true, children, onVisibleIndicesChange, listType = 'horizontal-list', }) => {
14
+ export const SwipeListControl = JSX(({ className = '', gap = DEFAULT_GAP, padding = DEFAULT_PADDING, showDots = true, minHeight, children, onVisibleIndicesChange, listType = 'horizontal-list', }) => {
15
15
  const itemCount = Array.isArray(children) ? children.length : 0;
16
16
  const [containerRef, scroll] = useSwipeListScroll({
17
17
  itemCount,
18
18
  onVisibleIndicesChange,
19
19
  });
20
20
  const [activeIndex] = scroll.visibleIndicesRange;
21
- return (_jsxs("div", { className: style(className, listType === 'vertical-list' ? 'relative h-full' : ''), children: [_jsx(SwipeListContainer, { containerRef: containerRef, activeIndex: activeIndex, visibleItemCount: 1, gap: gap, padding: padding, onVisibleIndicesChange: scroll.handleVisibleIndicesChange, listType: listType, children: children }), showDots ? (_jsx(SwipeListControlDots, { containerRef: containerRef, activeIndex: activeIndex, dotCount: itemCount, listType: listType })) : null] }));
21
+ return (_jsxs("div", { className: style(className, listType === 'vertical-list' ? 'relative h-full' : ''), children: [_jsx(SwipeListContainer, { containerRef: containerRef, activeIndex: activeIndex, visibleItemCount: 1, gap: gap, padding: padding, onVisibleIndicesChange: scroll.handleVisibleIndicesChange, listType: listType, minHeight: minHeight, children: children }), showDots ? (_jsx(SwipeListControlDots, { containerRef: containerRef, activeIndex: activeIndex, dotCount: itemCount, listType: listType })) : null] }));
22
22
  });
23
23
  //# sourceMappingURL=SwipeListControl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SwipeListControl.js","sourceRoot":"","sources":["../../../src/ui-kit/SwipeListControl/SwipeListControl.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,MAAM,WAAW,GAAG,EAAE,CAAC;AAEvB;;;;GAIG;AACH,MAAM,eAAe,GAAG,EAAE,CAAC;AAE3B,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CACjC,CAAC,EACC,SAAS,GAAG,EAAE,EACd,GAAG,GAAG,WAAW,EACjB,OAAO,GAAG,eAAe,EACzB,QAAQ,GAAG,IAAI,EACf,QAAQ,EACR,sBAAsB,EACtB,QAAQ,GAAG,iBAAiB,GAC7B,EAAE,EAAE;IACH,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAEhE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,GAAG,kBAAkB,CAAiB;QAChE,SAAS;QACT,sBAAsB;KACvB,CAAC,CAAC;IACH,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,mBAAmB,CAAC;IAEjD,OAAO,CACL,eAAK,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,QAAQ,KAAK,eAAe,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,aACrF,KAAC,kBAAkB,IACjB,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,CAAC,EACnB,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,OAAO,EAChB,sBAAsB,EAAE,MAAM,CAAC,0BAA0B,EACzD,QAAQ,EAAE,QAAQ,YAEjB,QAAQ,GACU,EACpB,QAAQ,CAAC,CAAC,CAAC,CACV,KAAC,oBAAoB,IACnB,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,SAAS,EACnB,QAAQ,EAAE,QAAQ,GAClB,CACH,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CAAC;AACJ,CAAC,CACF,CAAC"}
1
+ {"version":3,"file":"SwipeListControl.js","sourceRoot":"","sources":["../../../src/ui-kit/SwipeListControl/SwipeListControl.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,MAAM,WAAW,GAAG,EAAE,CAAC;AAEvB;;;;GAIG;AACH,MAAM,eAAe,GAAG,EAAE,CAAC;AAE3B,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CACjC,CAAC,EACC,SAAS,GAAG,EAAE,EACd,GAAG,GAAG,WAAW,EACjB,OAAO,GAAG,eAAe,EACzB,QAAQ,GAAG,IAAI,EACf,SAAS,EACT,QAAQ,EACR,sBAAsB,EACtB,QAAQ,GAAG,iBAAiB,GAC7B,EAAE,EAAE;IACH,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAEhE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,GAAG,kBAAkB,CAAiB;QAChE,SAAS;QACT,sBAAsB;KACvB,CAAC,CAAC;IACH,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,mBAAmB,CAAC;IAEjD,OAAO,CACL,eAAK,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,QAAQ,KAAK,eAAe,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,aACrF,KAAC,kBAAkB,IACjB,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,CAAC,EACnB,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,OAAO,EAChB,sBAAsB,EAAE,MAAM,CAAC,0BAA0B,EACzD,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,YAEnB,QAAQ,GACU,EACpB,QAAQ,CAAC,CAAC,CAAC,CACV,KAAC,oBAAoB,IACnB,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,SAAS,EACnB,QAAQ,EAAE,QAAQ,GAClB,CACH,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CAAC;AACJ,CAAC,CACF,CAAC"}
@@ -1,15 +1,10 @@
1
1
  import type { BlockVersion } from '../../model/BlockVersion';
2
- /**
3
- * @title Вид
4
- * @enumNames ["Горизонтальный", "Вертикальный"]
5
- */
6
- export declare type SwipeListControlType = 'horizontal-list' | 'vertical-list';
2
+ import type { SwipeContainerProps } from './SwipeListControlProps';
7
3
  /**
8
4
  * @title Swipe-контроллер
9
5
  */
10
- export interface SwipeListControlContent {
6
+ export interface SwipeListControlContent extends SwipeContainerProps {
11
7
  /** @title Точки-индикаторы */
12
8
  showDots?: boolean;
13
- listType?: SwipeListControlType;
14
9
  version?: BlockVersion;
15
10
  }
@@ -1,4 +1,4 @@
1
- import type { SwipeListControlType } from './SwipeListControlContent';
1
+ import type { SwipeListControlType } from './SwipeListControlProps';
2
2
  interface SwipeListControlDotsProps {
3
3
  containerRef?: {
4
4
  current: HTMLDivElement | null;
@@ -1,12 +1,21 @@
1
1
  import type { SwipeListControlContent } from './SwipeListControlContent';
2
2
  /**
3
- * @title Контейнер
3
+ * @title Вид
4
+ * @enumNames ["Горизонтальный", "Вертикальный"]
4
5
  */
6
+ export declare type SwipeListControlType = 'horizontal-list' | 'vertical-list';
7
+ /**
8
+ * @title Минимальная высота
9
+ * @enumNames ['Стандартная', 'Маленькая']
10
+ */
11
+ export declare type ContainerMinHeight = 866 | 720;
5
12
  export interface SwipeContainerProps {
6
- /** @title Расстояние между элементами */
13
+ /** @hidden */
7
14
  gap?: number;
8
- /** @title Отступы */
15
+ /** @hidden */
9
16
  padding?: number;
17
+ listType?: SwipeListControlType;
18
+ minHeight?: ContainerMinHeight;
10
19
  }
11
20
  /**
12
21
  * @title Swipe-контроллер
@@ -0,0 +1,4 @@
1
+ export declare const getContainerHeight: (minHeight?: number) => {
2
+ height: string;
3
+ minHeight: string;
4
+ };
@@ -0,0 +1,10 @@
1
+ const HEADER_HEIGHT = 170;
2
+ const FOOTER_HEIGHT = 48;
3
+ const BLOCKS_GAP = 4;
4
+ const PAGE_PADDINGS_X = 20;
5
+ const DEFAULT_HEIGHT = 866;
6
+ export const getContainerHeight = (minHeight) => ({
7
+ height: `calc(100vh - ${HEADER_HEIGHT + FOOTER_HEIGHT + BLOCKS_GAP + PAGE_PADDINGS_X}px)`,
8
+ minHeight: `${minHeight || DEFAULT_HEIGHT}px`,
9
+ });
10
+ //# sourceMappingURL=getContainerHeight.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getContainerHeight.js","sourceRoot":"","sources":["../../../src/ui-kit/SwipeListControl/getContainerHeight.ts"],"names":[],"mappings":"AAAA,MAAM,aAAa,GAAG,GAAG,CAAC;AAC1B,MAAM,aAAa,GAAG,EAAE,CAAC;AACzB,MAAM,UAAU,GAAG,CAAC,CAAC;AACrB,MAAM,eAAe,GAAG,EAAE,CAAC;AAC3B,MAAM,cAAc,GAAG,GAAG,CAAC;AAE3B,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,SAAkB,EAAE,EAAE,CAAC,CAAC;IACzD,MAAM,EAAE,gBAAgB,aAAa,GAAG,aAAa,GAAG,UAAU,GAAG,eAAe,KAAK;IACzF,SAAS,EAAE,GAAG,SAAS,IAAI,cAAc,IAAI;CAC9C,CAAC,CAAC"}
@@ -10,7 +10,7 @@ import type { CarouselLinksContent } from './CarouselLinksContent';
10
10
 
11
11
  export interface CarouselLinksProps extends CarouselLinksContent, UniBlockProps {}
12
12
 
13
- const MAX_LINKS_COUNT = 12;
13
+ const MAX_LINKS_COUNT = 10;
14
14
 
15
15
  export const CarouselLinks = JSX<CarouselLinksProps>(
16
16
  ({
@@ -0,0 +1,8 @@
1
+ {
2
+ "content": {},
3
+ "style": {
4
+ "ui:options": {
5
+ "minCols": 12
6
+ }
7
+ }
8
+ }
@@ -1,6 +1,7 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
- import type { LinkProps } from '../../model/LinkProps';
3
2
  import { Img } from '../Img/Img';
3
+ import { useLink } from '../../hooks/useLink';
4
+ import type { LinkProps } from '../../model/LinkProps';
4
5
 
5
6
  const LINK_CLASS_NAME = `absolute border border-primary-main ml-3 px-6 py-5
6
7
  text-l-light bg-white text-primary-text flex w-[316px]
@@ -15,13 +16,12 @@ export type LinkButtonProps = LinkProps & {
15
16
 
16
17
  export const LinkButton = JSX<LinkButtonProps>(
17
18
  ({ text, href = '', target = '', className = '' }) => {
18
- if (!text) {
19
- return null;
20
- }
19
+ const link = useLink();
20
+ const adjustedProps = link({ href, target });
21
21
 
22
- return (
22
+ return text ? (
23
23
  <div className={`relative group/link cursor-pointer w-[328px] h-[82px] ${className}`}>
24
- <a className={LINK_CLASS_NAME} role="link" href={href} target={target}>
24
+ <a className={LINK_CLASS_NAME} role="link" {...adjustedProps}>
25
25
  <div className="p-0.5">{text}</div>
26
26
  <div className="w-6 h-6">
27
27
  <Img
@@ -37,6 +37,6 @@ export const LinkButton = JSX<LinkButtonProps>(
37
37
  <div className={`${LINK_BORDER_CLASS_NAME} mx-1.5 mt-1.5`} />
38
38
  <div className={`${LINK_BORDER_CLASS_NAME} mt-3 mr-3`} />
39
39
  </div>
40
- );
40
+ ) : null;
41
41
  },
42
42
  );
@@ -3,7 +3,7 @@ import { useCallback, useRef } from '@redneckz/uni-jsx/lib/hooks';
3
3
  import type { IntersectionObserverOptions } from '../../hooks/useIntersectionObserver';
4
4
  import { mapChildren } from '../../utils/mapChildren';
5
5
  import { style } from '../../utils/style';
6
- import type { SwipeListControlType } from './SwipeListControlContent';
6
+ import { getContainerHeight } from './getContainerHeight';
7
7
  import type { SwipeContainerProps } from './SwipeListControlProps';
8
8
  import { SwipeListItem } from './SwipeListItem';
9
9
 
@@ -22,13 +22,10 @@ interface SwipeListContainerProps extends SwipeContainerProps {
22
22
  snapAlign?: 'snap-start' | 'snap-center' | 'snap-end';
23
23
  onVisibleItemsChange?: (itemsVisibilityList: ItemsVisibilityList) => void;
24
24
  onVisibleIndicesChange?: (indices: number[]) => void;
25
- listType?: SwipeListControlType;
26
25
  }
27
26
 
28
27
  const childStyleMap = ['min-w-[100%]', 'min-w-[50%]', 'min-w-[33.33%]', 'min-w-[25%]'];
29
28
 
30
- const DEFAULT_HEIGHT = '866px';
31
-
32
29
  export const SwipeListContainer = JSX<SwipeListContainerProps>(
33
30
  ({
34
31
  className = '',
@@ -39,6 +36,7 @@ export const SwipeListContainer = JSX<SwipeListContainerProps>(
39
36
  padding = 0,
40
37
  listType = 'horizontal-list',
41
38
  snapAlign = 'snap-center',
39
+ minHeight,
42
40
  children,
43
41
  onVisibleItemsChange,
44
42
  onVisibleIndicesChange,
@@ -67,13 +65,9 @@ export const SwipeListContainer = JSX<SwipeListContainerProps>(
67
65
  const isHorizontalList = listType === 'horizontal-list';
68
66
  const containerStyle = {
69
67
  ...(isHorizontalList ? getContainerOffset(padding, additionPadding) : {}),
70
- ...(isVerticalList ? { height: DEFAULT_HEIGHT } : {}),
68
+ ...(isVerticalList ? getContainerHeight(minHeight) : {}),
71
69
  gap: `${gap}px`,
72
70
  };
73
- const itemContainerStyle = {
74
- ...(isHorizontalList ? getContainerOffset(padding / 4) : {}),
75
- maxHeight: DEFAULT_HEIGHT,
76
- };
77
71
 
78
72
  return (
79
73
  <div
@@ -90,7 +84,7 @@ export const SwipeListContainer = JSX<SwipeListContainerProps>(
90
84
  visibleItemCount ? childStyleMap[visibleItemCount - 1] : '',
91
85
  isVerticalList ? 'h-full' : '',
92
86
  )}
93
- style={itemContainerStyle}
87
+ style={isHorizontalList ? getContainerOffset(padding / 4) : {}}
94
88
  activeIndex={activeIndex}
95
89
  idx={idx}
96
90
  observerOptions={observerOptions}
@@ -20,6 +20,7 @@ export const SwipeListControl = JSX<SwipeListControlProps>(
20
20
  gap = DEFAULT_GAP,
21
21
  padding = DEFAULT_PADDING,
22
22
  showDots = true,
23
+ minHeight,
23
24
  children,
24
25
  onVisibleIndicesChange,
25
26
  listType = 'horizontal-list',
@@ -42,6 +43,7 @@ export const SwipeListControl = JSX<SwipeListControlProps>(
42
43
  padding={padding}
43
44
  onVisibleIndicesChange={scroll.handleVisibleIndicesChange}
44
45
  listType={listType}
46
+ minHeight={minHeight}
45
47
  >
46
48
  {children}
47
49
  </SwipeListContainer>
@@ -1,17 +1,11 @@
1
1
  import type { BlockVersion } from '../../model/BlockVersion';
2
-
3
- /**
4
- * @title Вид
5
- * @enumNames ["Горизонтальный", "Вертикальный"]
6
- */
7
- export type SwipeListControlType = 'horizontal-list' | 'vertical-list';
2
+ import type { SwipeContainerProps } from './SwipeListControlProps';
8
3
 
9
4
  /**
10
5
  * @title Swipe-контроллер
11
6
  */
12
- export interface SwipeListControlContent {
7
+ export interface SwipeListControlContent extends SwipeContainerProps {
13
8
  /** @title Точки-индикаторы */
14
9
  showDots?: boolean;
15
- listType?: SwipeListControlType;
16
10
  version?: BlockVersion;
17
11
  }
@@ -1,5 +1,5 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
- import type { SwipeListControlType } from './SwipeListControlContent';
2
+ import type { SwipeListControlType } from './SwipeListControlProps';
3
3
 
4
4
  const containerStyles: Record<SwipeListControlType, string> = {
5
5
  'horizontal-list': 'mx-auto mt-5 w-fit',
@@ -1,13 +1,24 @@
1
1
  import type { SwipeListControlContent } from './SwipeListControlContent';
2
2
 
3
3
  /**
4
- * @title Контейнер
4
+ * @title Вид
5
+ * @enumNames ["Горизонтальный", "Вертикальный"]
5
6
  */
7
+ export type SwipeListControlType = 'horizontal-list' | 'vertical-list';
8
+
9
+ /**
10
+ * @title Минимальная высота
11
+ * @enumNames ['Стандартная', 'Маленькая']
12
+ */
13
+ export type ContainerMinHeight = 866 | 720;
14
+
6
15
  export interface SwipeContainerProps {
7
- /** @title Расстояние между элементами */
16
+ /** @hidden */
8
17
  gap?: number;
9
- /** @title Отступы */
18
+ /** @hidden */
10
19
  padding?: number;
20
+ listType?: SwipeListControlType;
21
+ minHeight?: ContainerMinHeight;
11
22
  }
12
23
 
13
24
  /**
@@ -0,0 +1,10 @@
1
+ const HEADER_HEIGHT = 170;
2
+ const FOOTER_HEIGHT = 48;
3
+ const BLOCKS_GAP = 4;
4
+ const PAGE_PADDINGS_X = 20;
5
+ const DEFAULT_HEIGHT = 866;
6
+
7
+ export const getContainerHeight = (minHeight?: number) => ({
8
+ height: `calc(100vh - ${HEADER_HEIGHT + FOOTER_HEIGHT + BLOCKS_GAP + PAGE_PADDINGS_X}px)`,
9
+ minHeight: `${minHeight || DEFAULT_HEIGHT}px`,
10
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redneckz/wildless-cms-uni-blocks",
3
- "version": "0.8.18",
3
+ "version": "0.8.19",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "author": "ЦК",
@@ -10,7 +10,7 @@ import type { CarouselLinksContent } from './CarouselLinksContent';
10
10
 
11
11
  export interface CarouselLinksProps extends CarouselLinksContent, UniBlockProps {}
12
12
 
13
- const MAX_LINKS_COUNT = 12;
13
+ const MAX_LINKS_COUNT = 10;
14
14
 
15
15
  export const CarouselLinks = JSX<CarouselLinksProps>(
16
16
  ({
@@ -0,0 +1,8 @@
1
+ {
2
+ "content": {},
3
+ "style": {
4
+ "ui:options": {
5
+ "minCols": 12
6
+ }
7
+ }
8
+ }
@@ -1,6 +1,7 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
- import type { LinkProps } from '../../model/LinkProps';
3
2
  import { Img } from '../Img/Img';
3
+ import { useLink } from '../../hooks/useLink';
4
+ import type { LinkProps } from '../../model/LinkProps';
4
5
 
5
6
  const LINK_CLASS_NAME = `absolute border border-primary-main ml-3 px-6 py-5
6
7
  text-l-light bg-white text-primary-text flex w-[316px]
@@ -15,13 +16,12 @@ export type LinkButtonProps = LinkProps & {
15
16
 
16
17
  export const LinkButton = JSX<LinkButtonProps>(
17
18
  ({ text, href = '', target = '', className = '' }) => {
18
- if (!text) {
19
- return null;
20
- }
19
+ const link = useLink();
20
+ const adjustedProps = link({ href, target });
21
21
 
22
- return (
22
+ return text ? (
23
23
  <div className={`relative group/link cursor-pointer w-[328px] h-[82px] ${className}`}>
24
- <a className={LINK_CLASS_NAME} role="link" href={href} target={target}>
24
+ <a className={LINK_CLASS_NAME} role="link" {...adjustedProps}>
25
25
  <div className="p-0.5">{text}</div>
26
26
  <div className="w-6 h-6">
27
27
  <Img
@@ -37,6 +37,6 @@ export const LinkButton = JSX<LinkButtonProps>(
37
37
  <div className={`${LINK_BORDER_CLASS_NAME} mx-1.5 mt-1.5`} />
38
38
  <div className={`${LINK_BORDER_CLASS_NAME} mt-3 mr-3`} />
39
39
  </div>
40
- );
40
+ ) : null;
41
41
  },
42
42
  );
@@ -3,7 +3,7 @@ import { useCallback, useRef } from '@redneckz/uni-jsx/lib/hooks';
3
3
  import type { IntersectionObserverOptions } from '../../hooks/useIntersectionObserver';
4
4
  import { mapChildren } from '../../utils/mapChildren';
5
5
  import { style } from '../../utils/style';
6
- import type { SwipeListControlType } from './SwipeListControlContent';
6
+ import { getContainerHeight } from './getContainerHeight';
7
7
  import type { SwipeContainerProps } from './SwipeListControlProps';
8
8
  import { SwipeListItem } from './SwipeListItem';
9
9
 
@@ -22,13 +22,10 @@ interface SwipeListContainerProps extends SwipeContainerProps {
22
22
  snapAlign?: 'snap-start' | 'snap-center' | 'snap-end';
23
23
  onVisibleItemsChange?: (itemsVisibilityList: ItemsVisibilityList) => void;
24
24
  onVisibleIndicesChange?: (indices: number[]) => void;
25
- listType?: SwipeListControlType;
26
25
  }
27
26
 
28
27
  const childStyleMap = ['min-w-[100%]', 'min-w-[50%]', 'min-w-[33.33%]', 'min-w-[25%]'];
29
28
 
30
- const DEFAULT_HEIGHT = '866px';
31
-
32
29
  export const SwipeListContainer = JSX<SwipeListContainerProps>(
33
30
  ({
34
31
  className = '',
@@ -39,6 +36,7 @@ export const SwipeListContainer = JSX<SwipeListContainerProps>(
39
36
  padding = 0,
40
37
  listType = 'horizontal-list',
41
38
  snapAlign = 'snap-center',
39
+ minHeight,
42
40
  children,
43
41
  onVisibleItemsChange,
44
42
  onVisibleIndicesChange,
@@ -67,13 +65,9 @@ export const SwipeListContainer = JSX<SwipeListContainerProps>(
67
65
  const isHorizontalList = listType === 'horizontal-list';
68
66
  const containerStyle = {
69
67
  ...(isHorizontalList ? getContainerOffset(padding, additionPadding) : {}),
70
- ...(isVerticalList ? { height: DEFAULT_HEIGHT } : {}),
68
+ ...(isVerticalList ? getContainerHeight(minHeight) : {}),
71
69
  gap: `${gap}px`,
72
70
  };
73
- const itemContainerStyle = {
74
- ...(isHorizontalList ? getContainerOffset(padding / 4) : {}),
75
- maxHeight: DEFAULT_HEIGHT,
76
- };
77
71
 
78
72
  return (
79
73
  <div
@@ -90,7 +84,7 @@ export const SwipeListContainer = JSX<SwipeListContainerProps>(
90
84
  visibleItemCount ? childStyleMap[visibleItemCount - 1] : '',
91
85
  isVerticalList ? 'h-full' : '',
92
86
  )}
93
- style={itemContainerStyle}
87
+ style={isHorizontalList ? getContainerOffset(padding / 4) : {}}
94
88
  activeIndex={activeIndex}
95
89
  idx={idx}
96
90
  observerOptions={observerOptions}
@@ -20,6 +20,7 @@ export const SwipeListControl = JSX<SwipeListControlProps>(
20
20
  gap = DEFAULT_GAP,
21
21
  padding = DEFAULT_PADDING,
22
22
  showDots = true,
23
+ minHeight,
23
24
  children,
24
25
  onVisibleIndicesChange,
25
26
  listType = 'horizontal-list',
@@ -42,6 +43,7 @@ export const SwipeListControl = JSX<SwipeListControlProps>(
42
43
  padding={padding}
43
44
  onVisibleIndicesChange={scroll.handleVisibleIndicesChange}
44
45
  listType={listType}
46
+ minHeight={minHeight}
45
47
  >
46
48
  {children}
47
49
  </SwipeListContainer>
@@ -1,17 +1,11 @@
1
1
  import type { BlockVersion } from '../../model/BlockVersion';
2
-
3
- /**
4
- * @title Вид
5
- * @enumNames ["Горизонтальный", "Вертикальный"]
6
- */
7
- export type SwipeListControlType = 'horizontal-list' | 'vertical-list';
2
+ import type { SwipeContainerProps } from './SwipeListControlProps';
8
3
 
9
4
  /**
10
5
  * @title Swipe-контроллер
11
6
  */
12
- export interface SwipeListControlContent {
7
+ export interface SwipeListControlContent extends SwipeContainerProps {
13
8
  /** @title Точки-индикаторы */
14
9
  showDots?: boolean;
15
- listType?: SwipeListControlType;
16
10
  version?: BlockVersion;
17
11
  }
@@ -1,5 +1,5 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
- import type { SwipeListControlType } from './SwipeListControlContent';
2
+ import type { SwipeListControlType } from './SwipeListControlProps';
3
3
 
4
4
  const containerStyles: Record<SwipeListControlType, string> = {
5
5
  'horizontal-list': 'mx-auto mt-5 w-fit',
@@ -1,13 +1,24 @@
1
1
  import type { SwipeListControlContent } from './SwipeListControlContent';
2
2
 
3
3
  /**
4
- * @title Контейнер
4
+ * @title Вид
5
+ * @enumNames ["Горизонтальный", "Вертикальный"]
5
6
  */
7
+ export type SwipeListControlType = 'horizontal-list' | 'vertical-list';
8
+
9
+ /**
10
+ * @title Минимальная высота
11
+ * @enumNames ['Стандартная', 'Маленькая']
12
+ */
13
+ export type ContainerMinHeight = 866 | 720;
14
+
6
15
  export interface SwipeContainerProps {
7
- /** @title Расстояние между элементами */
16
+ /** @hidden */
8
17
  gap?: number;
9
- /** @title Отступы */
18
+ /** @hidden */
10
19
  padding?: number;
20
+ listType?: SwipeListControlType;
21
+ minHeight?: ContainerMinHeight;
11
22
  }
12
23
 
13
24
  /**
@@ -0,0 +1,10 @@
1
+ const HEADER_HEIGHT = 170;
2
+ const FOOTER_HEIGHT = 48;
3
+ const BLOCKS_GAP = 4;
4
+ const PAGE_PADDINGS_X = 20;
5
+ const DEFAULT_HEIGHT = 866;
6
+
7
+ export const getContainerHeight = (minHeight?: number) => ({
8
+ height: `calc(100vh - ${HEADER_HEIGHT + FOOTER_HEIGHT + BLOCKS_GAP + PAGE_PADDINGS_X}px)`,
9
+ minHeight: `${minHeight || DEFAULT_HEIGHT}px`,
10
+ });