@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,14 +0,0 @@
1
- import { PropsWithChildren } from 'react';
2
- import { Swiper } from 'swiper/react';
3
- import { ClassNameProps, Refable, SliderProps as SliderParams } from '../../models';
4
- import 'swiper/swiper-bundle.css';
5
- export interface SliderNewProps extends Omit<SliderParams, 'children'>, Partial<Pick<Swiper, 'onSlideChange' | 'onSlideChangeTransitionStart' | 'onSlideChangeTransitionEnd' | 'onActiveIndexChange' | 'onBreakpoint'>>, Refable<HTMLDivElement>, ClassNameProps {
6
- type?: string;
7
- anchorId?: string;
8
- dotsClassName?: string;
9
- blockClassName?: string;
10
- arrowSize?: number;
11
- initialSlide?: number;
12
- }
13
- 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;
14
- export default SliderNewBlock;
@@ -1,57 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SliderNewBlock = void 0;
4
- const tslib_1 = require("tslib");
5
- const react_1 = tslib_1.__importStar(require("react"));
6
- const swiper_1 = tslib_1.__importStar(require("swiper"));
7
- const react_2 = require("swiper/react");
8
- const Anchor_1 = tslib_1.__importDefault(require("../../components/Anchor/Anchor"));
9
- const AnimateBlock_1 = tslib_1.__importDefault(require("../../components/AnimateBlock/AnimateBlock"));
10
- const Title_1 = tslib_1.__importDefault(require("../../components/Title/Title"));
11
- const models_1 = require("../../models");
12
- const utils_1 = require("../../utils");
13
- const Arrow_1 = tslib_1.__importDefault(require("./Arrow/Arrow"));
14
- const i18n_1 = require("./i18n");
15
- const useSlider_1 = require("./useSlider");
16
- const useSliderPagination_1 = require("./useSliderPagination");
17
- require("swiper/swiper-bundle.css");
18
- const b = (0, utils_1.block)('SliderNewBlock');
19
- swiper_1.default.use([swiper_1.Autoplay, swiper_1.A11y, swiper_1.Pagination]);
20
- 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, }) => {
21
- const { autoplay, isLocked, childrenCount, breakpoints, onSwiper, onPrev, onNext, setIsLocked } = (0, useSlider_1.useSlider)({
22
- slidesToShow,
23
- children,
24
- type,
25
- autoplayMs,
26
- });
27
- const isA11yControlHidden = Boolean(autoplay);
28
- const controlTabIndex = isA11yControlHidden ? -1 : 0;
29
- const paginationProps = (0, useSliderPagination_1.useSliderPagination)({
30
- enabled: dots,
31
- isA11yControlHidden,
32
- controlTabIndex,
33
- bulletClass: b('dot', dotsClassName),
34
- bulletActiveClass: b('dot_active'),
35
- paginationLabel: (0, i18n_1.i18n)('pagination-label'),
36
- });
37
- return (react_1.default.createElement("div", { className: b({
38
- 'one-slide': childrenCount === 1,
39
- 'only-arrows': !(title === null || title === void 0 ? void 0 : title.text) && !description && arrows,
40
- 'without-dots': !dots || isLocked,
41
- type,
42
- }, blockClassName) },
43
- anchorId && react_1.default.createElement(Anchor_1.default, { id: anchorId }),
44
- react_1.default.createElement(Title_1.default, { title: title, subtitle: description, className: b('header', { 'no-description': !description }) }),
45
- react_1.default.createElement(AnimateBlock_1.default, { className: b('animate-slides'), animate: animated },
46
- react_1.default.createElement(react_2.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: {
47
- slideLabelMessage: '',
48
- paginationBulletMessage: (0, i18n_1.i18n)('dot-label', { index: '{{index}}' }),
49
- } }, paginationProps), react_1.default.Children.map(children, (elem, index) => (react_1.default.createElement(react_2.SwiperSlide, { className: b('slide'), key: index }, ({ isVisible }) => (react_1.default.createElement("div", { className: b('slide-item'), "aria-hidden": !isA11yControlHidden && !isVisible }, elem)))))),
50
- arrows && !isLocked && (react_1.default.createElement(react_1.Fragment, null,
51
- react_1.default.createElement("div", { "aria-hidden": isA11yControlHidden },
52
- react_1.default.createElement(Arrow_1.default, { className: b('arrow', { prev: true }), type: "left", transparent: type === models_1.SliderType.HeaderCard, onClick: onPrev, size: arrowSize, extraProps: { tabIndex: controlTabIndex } }),
53
- react_1.default.createElement(Arrow_1.default, { className: b('arrow', { next: true }), type: "right", transparent: type === models_1.SliderType.HeaderCard, onClick: onNext, size: arrowSize, extraProps: { tabIndex: controlTabIndex } })))),
54
- react_1.default.createElement("div", { className: b('footer') }, disclaimer ? (react_1.default.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))));
55
- };
56
- exports.SliderNewBlock = SliderNewBlock;
57
- exports.default = exports.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,43 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setElementAtrributes = exports.useMemoized = exports.getSliderResponsiveParams = exports.DEFAULT_SLIDE_BREAKPOINTS = void 0;
4
- const tslib_1 = require("tslib");
5
- const react_1 = require("react");
6
- const isEqual_1 = tslib_1.__importDefault(require("lodash/isEqual"));
7
- const pickBy_1 = tslib_1.__importDefault(require("lodash/pickBy"));
8
- const constants_1 = require("../../constants");
9
- const models_1 = require("./models");
10
- exports.DEFAULT_SLIDE_BREAKPOINTS = {
11
- [models_1.SliderBreakpointNames.Lg]: 3,
12
- [models_1.SliderBreakpointNames.Md]: 2,
13
- [models_1.SliderBreakpointNames.Sm]: 2,
14
- [models_1.SliderBreakpointNames.Xs]: 1.15,
15
- };
16
- function getSliderResponsiveParams({ contentLength, slidesToShow, mobileFullscreen, }) {
17
- let result;
18
- if (typeof slidesToShow === 'number') {
19
- result = Object.keys(exports.DEFAULT_SLIDE_BREAKPOINTS).reduce((acc, breakpointName) => (Object.assign(Object.assign({}, acc), { [breakpointName]: slidesToShow })), {});
20
- }
21
- else {
22
- result = slidesToShow || exports.DEFAULT_SLIDE_BREAKPOINTS;
23
- }
24
- const showCount = Object.assign(Object.assign(Object.assign({}, exports.DEFAULT_SLIDE_BREAKPOINTS), (0, pickBy_1.default)(result, (value) => !isNaN(value))), { xs: !mobileFullscreen && contentLength > 1 ? exports.DEFAULT_SLIDE_BREAKPOINTS.xs : 1 });
25
- return Object.entries(showCount).reduce((res, [breakpointName, value]) => {
26
- // eslint-disable-next-line no-param-reassign
27
- res[constants_1.BREAKPOINTS[breakpointName] + 1] = {
28
- slidesPerView: value,
29
- };
30
- return res;
31
- }, {});
32
- }
33
- exports.getSliderResponsiveParams = getSliderResponsiveParams;
34
- const useMemoized = (value) => {
35
- const [memoizedValue, setMemoizedValue] = (0, react_1.useState)(value);
36
- (0, react_1.useEffect)(() => {
37
- setMemoizedValue((memoized) => value && typeof value === 'object' && (0, isEqual_1.default)(memoized, value) ? memoized : value);
38
- }, [value]);
39
- return memoizedValue;
40
- };
41
- exports.useMemoized = useMemoized;
42
- const setElementAtrributes = (element, attributes) => Object.entries(attributes).forEach(([attribute, value]) => element.setAttribute(attribute, String(value)));
43
- exports.setElementAtrributes = setElementAtrributes;
@@ -1 +0,0 @@
1
- export { default as SliderNewBlock } from './SliderNew/Slider';
@@ -1,8 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.SliderNewBlock = void 0;
7
- var Slider_1 = require("./SliderNew/Slider");
8
- Object.defineProperty(exports, "SliderNewBlock", { enumerable: true, get: function () { return __importDefault(Slider_1).default; } });
@@ -1,13 +0,0 @@
1
- import React from 'react';
2
- import { ClassNameProps } from '../../../models';
3
- import './Arrow.css';
4
- export type ArrowType = 'left' | 'right';
5
- export interface ArrowProps {
6
- type: ArrowType;
7
- transparent?: boolean;
8
- onClick?: () => void;
9
- size?: number;
10
- extraProps?: React.ButtonHTMLAttributes<HTMLButtonElement>;
11
- }
12
- declare const Arrow: ({ type, transparent, onClick, className, size, extraProps, }: ArrowProps & ClassNameProps) => JSX.Element;
13
- export default Arrow;
@@ -1,12 +0,0 @@
1
- import React from 'react';
2
- import ToggleArrow from '../../../components/ToggleArrow/ToggleArrow';
3
- import { block } from '../../../utils';
4
- import { i18n } from '../i18n';
5
- import './Arrow.css';
6
- const b = block('slider-new-block-arrow');
7
- const Arrow = ({ type, transparent, onClick, className, size = 16, extraProps, }) => (React.createElement("div", { className: b(null, className) },
8
- React.createElement("button", Object.assign({ className: b('button'), onClick: onClick, "aria-label": i18n(`arrow-${type}`) }, extraProps),
9
- React.createElement("div", { className: b('inner', { type, transparent }) },
10
- React.createElement("span", { className: b('icon-wrapper') },
11
- React.createElement(ToggleArrow, { size: size, type: 'horizontal', iconType: "navigation", className: b('icon') }))))));
12
- export default Arrow;