@gravity-ui/page-constructor 5.27.1-alpha.0 → 5.27.1-alpha.2

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/build/cjs/blocks/HeaderSlider/HeaderSlider.js +2 -2
  2. package/build/cjs/blocks/HeaderSlider/schema.js +1 -1
  3. package/build/cjs/blocks/Slider/Arrow/Arrow.css +22 -21
  4. package/build/cjs/blocks/Slider/Arrow/Arrow.d.ts +5 -2
  5. package/build/cjs/blocks/Slider/Arrow/Arrow.js +5 -4
  6. package/build/cjs/blocks/Slider/Slider.css +545 -329
  7. package/build/cjs/blocks/Slider/Slider.d.ts +6 -7
  8. package/build/cjs/blocks/Slider/Slider.js +40 -282
  9. package/build/cjs/blocks/Slider/i18n/en.json +1 -1
  10. package/build/cjs/blocks/Slider/i18n/ru.json +1 -1
  11. package/build/cjs/blocks/Slider/models.d.ts +2 -2
  12. package/build/cjs/blocks/Slider/models.js +1 -1
  13. package/build/cjs/blocks/Slider/schema.d.ts +18 -1
  14. package/build/cjs/blocks/Slider/schema.js +9 -0
  15. package/build/cjs/blocks/Slider/utils.d.ts +7 -27
  16. package/build/cjs/blocks/Slider/utils.js +26 -108
  17. package/build/cjs/blocks/{SliderNew → SliderOld}/Arrow/Arrow.css +24 -25
  18. package/build/cjs/blocks/SliderOld/Arrow/Arrow.d.ts +9 -0
  19. package/build/cjs/blocks/SliderOld/Arrow/Arrow.js +13 -0
  20. package/build/cjs/blocks/SliderOld/SliderOld.css +703 -0
  21. package/build/cjs/blocks/SliderOld/SliderOld.d.ts +17 -0
  22. package/build/cjs/blocks/SliderOld/SliderOld.js +301 -0
  23. package/build/cjs/blocks/{SliderNew → SliderOld}/i18n/en.json +1 -1
  24. package/build/cjs/blocks/{SliderNew → SliderOld}/i18n/index.js +1 -1
  25. package/build/cjs/blocks/{SliderNew → SliderOld}/i18n/ru.json +1 -1
  26. package/build/cjs/blocks/{SliderNew → SliderOld}/models.d.ts +2 -2
  27. package/build/cjs/blocks/{SliderNew → SliderOld}/models.js +1 -1
  28. package/build/cjs/blocks/{SliderNew → SliderOld}/schema.d.ts +5 -21
  29. package/build/cjs/blocks/{SliderNew → SliderOld}/schema.js +6 -14
  30. package/build/cjs/blocks/SliderOld/utils.d.ts +36 -0
  31. package/build/cjs/blocks/SliderOld/utils.js +125 -0
  32. package/build/cjs/blocks/index.d.ts +1 -0
  33. package/build/cjs/blocks/index.js +3 -1
  34. package/build/cjs/blocks/validators.d.ts +1 -0
  35. package/build/cjs/blocks/validators.js +1 -0
  36. package/build/cjs/components/FullscreenImage/FullscreenImage.css +52 -17
  37. package/build/cjs/components/FullscreenImage/FullscreenImage.js +4 -4
  38. package/build/cjs/components/Media/Image/Image.js +2 -2
  39. package/build/cjs/components/Title/TitleItem.d.ts +1 -1
  40. package/build/cjs/constructor-items.d.ts +2 -2
  41. package/build/cjs/constructor-items.js +2 -4
  42. package/build/cjs/editor/data/templates/{slider-new-block.json → slider-old-block.json} +2 -2
  43. package/build/cjs/grid/Col/Col.d.ts +1 -1
  44. package/build/cjs/grid/Row/Row.d.ts +1 -1
  45. package/build/cjs/models/constructor-items/blocks.d.ts +15 -14
  46. package/build/cjs/models/constructor-items/blocks.js +2 -2
  47. package/build/cjs/schema/constants.d.ts +0 -1
  48. package/build/cjs/schema/constants.js +3 -1
  49. package/build/cjs/schema/validators/blocks.d.ts +2 -2
  50. package/build/cjs/schema/validators/blocks.js +2 -2
  51. package/build/cjs/text-transform/config.js +1 -1
  52. package/build/esm/blocks/HeaderSlider/HeaderSlider.js +1 -1
  53. package/build/esm/blocks/HeaderSlider/schema.js +2 -2
  54. package/build/esm/blocks/Slider/Arrow/Arrow.css +22 -21
  55. package/build/esm/blocks/Slider/Arrow/Arrow.d.ts +5 -2
  56. package/build/esm/blocks/Slider/Arrow/Arrow.js +5 -4
  57. package/build/esm/blocks/Slider/Slider.css +545 -329
  58. package/build/esm/blocks/Slider/Slider.d.ts +6 -7
  59. package/build/esm/blocks/Slider/Slider.js +42 -284
  60. package/build/esm/blocks/Slider/i18n/en.json +1 -1
  61. package/build/esm/blocks/Slider/i18n/ru.json +1 -1
  62. package/build/esm/blocks/Slider/models.d.ts +2 -2
  63. package/build/esm/blocks/Slider/models.js +1 -1
  64. package/build/esm/blocks/Slider/schema.d.ts +18 -1
  65. package/build/esm/blocks/Slider/schema.js +9 -0
  66. package/build/esm/blocks/Slider/utils.d.ts +7 -27
  67. package/build/esm/blocks/Slider/utils.js +24 -103
  68. package/build/esm/blocks/{SliderNew → SliderOld}/Arrow/Arrow.css +24 -25
  69. package/build/esm/blocks/SliderOld/Arrow/Arrow.d.ts +10 -0
  70. package/build/esm/blocks/SliderOld/Arrow/Arrow.js +11 -0
  71. package/build/esm/blocks/SliderOld/SliderOld.css +703 -0
  72. package/build/esm/blocks/SliderOld/SliderOld.d.ts +18 -0
  73. package/build/esm/blocks/SliderOld/SliderOld.js +297 -0
  74. package/build/esm/blocks/{SliderNew → SliderOld}/i18n/en.json +1 -1
  75. package/build/esm/blocks/{SliderNew → SliderOld}/i18n/index.js +1 -1
  76. package/build/esm/blocks/{SliderNew → SliderOld}/i18n/ru.json +1 -1
  77. package/build/esm/blocks/{SliderNew → SliderOld}/models.d.ts +2 -2
  78. package/build/esm/blocks/{SliderNew → SliderOld}/models.js +1 -1
  79. package/build/esm/blocks/{SliderNew → SliderOld}/schema.d.ts +5 -21
  80. package/build/esm/blocks/{SliderNew → SliderOld}/schema.js +5 -13
  81. package/build/esm/blocks/SliderOld/utils.d.ts +36 -0
  82. package/build/esm/blocks/SliderOld/utils.js +115 -0
  83. package/build/esm/blocks/index.d.ts +1 -0
  84. package/build/esm/blocks/index.js +1 -0
  85. package/build/esm/blocks/validators.d.ts +1 -0
  86. package/build/esm/blocks/validators.js +1 -0
  87. package/build/esm/components/FullscreenImage/FullscreenImage.css +52 -17
  88. package/build/esm/components/FullscreenImage/FullscreenImage.js +3 -3
  89. package/build/esm/components/Media/Image/Image.js +1 -1
  90. package/build/esm/components/Title/TitleItem.d.ts +1 -1
  91. package/build/esm/constructor-items.d.ts +2 -2
  92. package/build/esm/constructor-items.js +3 -5
  93. package/build/esm/editor/data/templates/{slider-new-block.json → slider-old-block.json} +2 -2
  94. package/build/esm/grid/Col/Col.d.ts +1 -1
  95. package/build/esm/grid/Row/Row.d.ts +1 -1
  96. package/build/esm/models/constructor-items/blocks.d.ts +15 -14
  97. package/build/esm/models/constructor-items/blocks.js +2 -2
  98. package/build/esm/schema/constants.d.ts +0 -1
  99. package/build/esm/schema/constants.js +4 -2
  100. package/build/esm/schema/validators/blocks.d.ts +2 -2
  101. package/build/esm/schema/validators/blocks.js +2 -2
  102. package/build/esm/text-transform/config.js +1 -1
  103. package/package.json +2 -2
  104. package/server/models/constructor-items/blocks.d.ts +15 -14
  105. package/server/models/constructor-items/blocks.js +2 -2
  106. package/server/text-transform/config.js +1 -1
  107. package/widget/index.js +1 -1
  108. package/build/cjs/blocks/SliderNew/Arrow/Arrow.d.ts +0 -12
  109. package/build/cjs/blocks/SliderNew/Arrow/Arrow.js +0 -14
  110. package/build/cjs/blocks/SliderNew/Slider.css +0 -911
  111. package/build/cjs/blocks/SliderNew/Slider.d.ts +0 -14
  112. package/build/cjs/blocks/SliderNew/Slider.js +0 -57
  113. package/build/cjs/blocks/SliderNew/utils.d.ts +0 -16
  114. package/build/cjs/blocks/SliderNew/utils.js +0 -43
  115. package/build/cjs/blocks/unstable.d.ts +0 -1
  116. package/build/cjs/blocks/unstable.js +0 -8
  117. package/build/esm/blocks/SliderNew/Arrow/Arrow.d.ts +0 -13
  118. package/build/esm/blocks/SliderNew/Arrow/Arrow.js +0 -12
  119. package/build/esm/blocks/SliderNew/Slider.css +0 -911
  120. package/build/esm/blocks/SliderNew/Slider.d.ts +0 -15
  121. package/build/esm/blocks/SliderNew/Slider.js +0 -53
  122. package/build/esm/blocks/SliderNew/utils.d.ts +0 -16
  123. package/build/esm/blocks/SliderNew/utils.js +0 -36
  124. package/build/esm/blocks/unstable.d.ts +0 -1
  125. package/build/esm/blocks/unstable.js +0 -1
  126. /package/build/cjs/blocks/{SliderNew → Slider}/useSlider.d.ts +0 -0
  127. /package/build/cjs/blocks/{SliderNew → Slider}/useSlider.js +0 -0
  128. /package/build/cjs/blocks/{SliderNew → Slider}/useSliderPagination.d.ts +0 -0
  129. /package/build/cjs/blocks/{SliderNew → Slider}/useSliderPagination.js +0 -0
  130. /package/build/cjs/blocks/{SliderNew → SliderOld}/i18n/index.d.ts +0 -0
  131. /package/build/cjs/blocks/{Slider → SliderOld}/slick.css +0 -0
  132. /package/build/esm/blocks/{SliderNew → Slider}/useSlider.d.ts +0 -0
  133. /package/build/esm/blocks/{SliderNew → Slider}/useSlider.js +0 -0
  134. /package/build/esm/blocks/{SliderNew → Slider}/useSliderPagination.d.ts +0 -0
  135. /package/build/esm/blocks/{SliderNew → Slider}/useSliderPagination.js +0 -0
  136. /package/build/esm/blocks/{SliderNew → SliderOld}/i18n/index.d.ts +0 -0
  137. /package/build/esm/blocks/{Slider → SliderOld}/slick.css +0 -0
@@ -1,15 +0,0 @@
1
- import { PropsWithChildren } from 'react';
2
- import { Swiper } from 'swiper/react';
3
- import { ClassNameProps, Refable, SliderProps as SliderParams } from '../../models';
4
- import './Slider.css';
5
- import 'swiper/swiper-bundle.css';
6
- export interface SliderNewProps extends Omit<SliderParams, 'children'>, Partial<Pick<Swiper, 'onSlideChange' | 'onSlideChangeTransitionStart' | 'onSlideChangeTransitionEnd' | 'onActiveIndexChange' | 'onBreakpoint'>>, Refable<HTMLDivElement>, ClassNameProps {
7
- type?: string;
8
- anchorId?: string;
9
- dotsClassName?: string;
10
- blockClassName?: string;
11
- arrowSize?: number;
12
- initialSlide?: number;
13
- }
14
- export declare const SliderNewBlock: ({ animated, title, description, type, anchorId, arrows, adaptive, autoplay: autoplayMs, dots, initialSlide, className, dotsClassName, disclaimer, children, blockClassName, arrowSize, slidesToShow, onSlideChange, onSlideChangeTransitionStart, onSlideChangeTransitionEnd, onActiveIndexChange, onBreakpoint, }: PropsWithChildren<SliderNewProps>) => JSX.Element;
15
- export default SliderNewBlock;
@@ -1,53 +0,0 @@
1
- import React, { Fragment } from 'react';
2
- import SwiperCore, { A11y, Autoplay, Pagination } from 'swiper';
3
- import { Swiper, SwiperSlide } from 'swiper/react';
4
- import Anchor from '../../components/Anchor/Anchor';
5
- import AnimateBlock from '../../components/AnimateBlock/AnimateBlock';
6
- import Title from '../../components/Title/Title';
7
- import { SliderType } from '../../models';
8
- import { block } from '../../utils';
9
- import Arrow from './Arrow/Arrow';
10
- import { i18n } from './i18n';
11
- import { useSlider } from './useSlider';
12
- import { useSliderPagination } from './useSliderPagination';
13
- import './Slider.css';
14
- import 'swiper/swiper-bundle.css';
15
- const b = block('SliderNewBlock');
16
- SwiperCore.use([Autoplay, A11y, Pagination]);
17
- export const SliderNewBlock = ({ animated, title, description, type, anchorId, arrows = true, adaptive, autoplay: autoplayMs, dots = true, initialSlide = 0, className, dotsClassName, disclaimer, children, blockClassName, arrowSize, slidesToShow, onSlideChange, onSlideChangeTransitionStart, onSlideChangeTransitionEnd, onActiveIndexChange, onBreakpoint, }) => {
18
- const { autoplay, isLocked, childrenCount, breakpoints, onSwiper, onPrev, onNext, setIsLocked } = useSlider({
19
- slidesToShow,
20
- children,
21
- type,
22
- autoplayMs,
23
- });
24
- const isA11yControlHidden = Boolean(autoplay);
25
- const controlTabIndex = isA11yControlHidden ? -1 : 0;
26
- const paginationProps = useSliderPagination({
27
- enabled: dots,
28
- isA11yControlHidden,
29
- controlTabIndex,
30
- bulletClass: b('dot', dotsClassName),
31
- bulletActiveClass: b('dot_active'),
32
- paginationLabel: i18n('pagination-label'),
33
- });
34
- return (React.createElement("div", { className: b({
35
- 'one-slide': childrenCount === 1,
36
- 'only-arrows': !(title === null || title === void 0 ? void 0 : title.text) && !description && arrows,
37
- 'without-dots': !dots || isLocked,
38
- type,
39
- }, blockClassName) },
40
- anchorId && React.createElement(Anchor, { id: anchorId }),
41
- React.createElement(Title, { title: title, subtitle: description, className: b('header', { 'no-description': !description }) }),
42
- React.createElement(AnimateBlock, { className: b('animate-slides'), animate: animated },
43
- React.createElement(Swiper, Object.assign({ className: b('slider', className), onSwiper: onSwiper, speed: 1000, autoplay: autoplay, autoHeight: adaptive, initialSlide: initialSlide, noSwiping: false, breakpoints: breakpoints, onSlideChange: onSlideChange, onSlideChangeTransitionStart: onSlideChangeTransitionStart, onSlideChangeTransitionEnd: onSlideChangeTransitionEnd, onActiveIndexChange: onActiveIndexChange, onBreakpoint: onBreakpoint, onLock: () => setIsLocked(true), onUnlock: () => setIsLocked(false), watchSlidesVisibility: true, watchOverflow: true, a11y: {
44
- slideLabelMessage: '',
45
- paginationBulletMessage: i18n('dot-label', { index: '{{index}}' }),
46
- } }, paginationProps), React.Children.map(children, (elem, index) => (React.createElement(SwiperSlide, { className: b('slide'), key: index }, ({ isVisible }) => (React.createElement("div", { className: b('slide-item'), "aria-hidden": !isA11yControlHidden && !isVisible }, elem)))))),
47
- arrows && !isLocked && (React.createElement(Fragment, null,
48
- React.createElement("div", { "aria-hidden": isA11yControlHidden },
49
- React.createElement(Arrow, { className: b('arrow', { prev: true }), type: "left", transparent: type === SliderType.HeaderCard, onClick: onPrev, size: arrowSize, extraProps: { tabIndex: controlTabIndex } }),
50
- React.createElement(Arrow, { className: b('arrow', { next: true }), type: "right", transparent: type === SliderType.HeaderCard, onClick: onNext, size: arrowSize, extraProps: { tabIndex: controlTabIndex } })))),
51
- React.createElement("div", { className: b('footer') }, disclaimer ? (React.createElement("div", { className: b('disclaimer', { size: (disclaimer === null || disclaimer === void 0 ? void 0 : disclaimer.size) || 'm' }) }, disclaimer === null || disclaimer === void 0 ? void 0 : disclaimer.text)) : null))));
52
- };
53
- export default SliderNewBlock;
@@ -1,16 +0,0 @@
1
- import type { SwiperOptions } from 'swiper/types/swiper-options';
2
- import { SlidesToShow } from './models';
3
- export declare const DEFAULT_SLIDE_BREAKPOINTS: {
4
- lg: number;
5
- md: number;
6
- sm: number;
7
- xs: number;
8
- };
9
- export interface GetSlidesToShowParams {
10
- contentLength: number;
11
- slidesToShow?: SlidesToShow;
12
- mobileFullscreen?: boolean;
13
- }
14
- export declare function getSliderResponsiveParams({ contentLength, slidesToShow, mobileFullscreen, }: GetSlidesToShowParams): Record<number, SwiperOptions>;
15
- export declare const useMemoized: <T>(value: T) => T;
16
- export declare const setElementAtrributes: (element: Element, attributes: Record<string, unknown>) => void;
@@ -1,36 +0,0 @@
1
- import { useEffect, useState } from 'react';
2
- import isEqual from 'lodash/isEqual';
3
- import pickBy from 'lodash/pickBy';
4
- import { BREAKPOINTS } from '../../constants';
5
- import { SliderBreakpointNames } from './models';
6
- export const DEFAULT_SLIDE_BREAKPOINTS = {
7
- [SliderBreakpointNames.Lg]: 3,
8
- [SliderBreakpointNames.Md]: 2,
9
- [SliderBreakpointNames.Sm]: 2,
10
- [SliderBreakpointNames.Xs]: 1.15,
11
- };
12
- export function getSliderResponsiveParams({ contentLength, slidesToShow, mobileFullscreen, }) {
13
- let result;
14
- if (typeof slidesToShow === 'number') {
15
- result = Object.keys(DEFAULT_SLIDE_BREAKPOINTS).reduce((acc, breakpointName) => (Object.assign(Object.assign({}, acc), { [breakpointName]: slidesToShow })), {});
16
- }
17
- else {
18
- result = slidesToShow || DEFAULT_SLIDE_BREAKPOINTS;
19
- }
20
- const showCount = Object.assign(Object.assign(Object.assign({}, DEFAULT_SLIDE_BREAKPOINTS), pickBy(result, (value) => !isNaN(value))), { xs: !mobileFullscreen && contentLength > 1 ? DEFAULT_SLIDE_BREAKPOINTS.xs : 1 });
21
- return Object.entries(showCount).reduce((res, [breakpointName, value]) => {
22
- // eslint-disable-next-line no-param-reassign
23
- res[BREAKPOINTS[breakpointName] + 1] = {
24
- slidesPerView: value,
25
- };
26
- return res;
27
- }, {});
28
- }
29
- export const useMemoized = (value) => {
30
- const [memoizedValue, setMemoizedValue] = useState(value);
31
- useEffect(() => {
32
- setMemoizedValue((memoized) => value && typeof value === 'object' && isEqual(memoized, value) ? memoized : value);
33
- }, [value]);
34
- return memoizedValue;
35
- };
36
- export const setElementAtrributes = (element, attributes) => Object.entries(attributes).forEach(([attribute, value]) => element.setAttribute(attribute, String(value)));
@@ -1 +0,0 @@
1
- export { default as SliderNewBlock } from './SliderNew/Slider';
@@ -1 +0,0 @@
1
- export { default as SliderNewBlock } from './SliderNew/Slider';