@gravity-ui/page-constructor 5.17.1 → 5.18.0

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.
@@ -76,6 +76,8 @@ unpredictable css rules order in build */
76
76
  height: 32px;
77
77
  background-size: cover;
78
78
  display: block;
79
+ }
80
+ .pc-ExtendedFeaturesBlock__icon-wrap {
79
81
  margin-bottom: 12px;
80
82
  }
81
83
  @media (max-width: 577px) {
@@ -30,7 +30,8 @@ const ExtendedFeaturesBlock = ({ title, description, items, colSizes = DEFAULT_S
30
30
  itemLinks.push(link);
31
31
  }
32
32
  return (react_1.default.createElement(grid_1.Col, { className: b('item'), key: text || itemTitle, sizes: colSizes },
33
- iconData && react_1.default.createElement(Image_1.default, Object.assign({}, iconData, { className: b('icon') })),
33
+ iconData && (react_1.default.createElement("div", { className: b('icon-wrap'), "aria-hidden": true },
34
+ react_1.default.createElement(Image_1.default, Object.assign({}, iconData, { className: b('icon') })))),
34
35
  react_1.default.createElement("div", { className: b('container') },
35
36
  itemTitle &&
36
37
  react_1.default.createElement(itemTitleHeadingTag, {
@@ -11,10 +11,21 @@ unpredictable css rules order in build */
11
11
  .pc-SliderNewBlock_without-dots .pc-SliderNewBlock__slider {
12
12
  padding-bottom: 20px;
13
13
  }
14
- .pc-SliderNewBlock__slide {
14
+ .pc-SliderNewBlock__slide.swiper-slide {
15
15
  padding: 0 8px;
16
16
  box-sizing: border-box;
17
- flex-shrink: 0;
17
+ height: auto;
18
+ }
19
+ @keyframes safari-fix {
20
+ from {
21
+ transform: translateX(0.001px);
22
+ }
23
+ to {
24
+ transform: translateX(0);
25
+ }
26
+ }
27
+ .pc-SliderNewBlock__slide.swiper-slide.swiper-slide-visible {
28
+ animation: safari-fix 300ms;
18
29
  }
19
30
  .pc-SliderNewBlock__arrow {
20
31
  position: absolute;
@@ -708,7 +719,7 @@ unpredictable css rules order in build */
708
719
  overflow: inherit;
709
720
  }
710
721
  }
711
- .pc-SliderNewBlock_type_media-card .pc-SliderNewBlock__dots {
722
+ .pc-SliderNewBlock_type_media-card .swiper-container-horizontal .swiper-pagination-bullets {
712
723
  bottom: 24px;
713
724
  }
714
725
  .pc-SliderNewBlock_type_media-card .pc-SliderNewBlock__slider {
@@ -746,7 +757,7 @@ unpredictable css rules order in build */
746
757
  .pc-SliderNewBlock_type_header-card .pc-SliderNewBlock__wrapper {
747
758
  position: relative;
748
759
  }
749
- .pc-SliderNewBlock_type_header-card .pc-SliderNewBlock__dots {
760
+ .pc-SliderNewBlock_type_header-card .swiper-container-horizontal .swiper-pagination-bullets {
750
761
  bottom: 32px;
751
762
  }
752
763
  .pc-SliderNewBlock_type_header-card .pc-SliderNewBlock__slider {
@@ -16,5 +16,6 @@ export declare const useSlider: ({ children, autoplayMs, type, slidesToShow, }:
16
16
  setIsLocked: React.Dispatch<React.SetStateAction<boolean>>;
17
17
  autoplay: false | {
18
18
  delay: number | undefined;
19
+ disableOnInteraction: boolean;
19
20
  };
20
21
  };
@@ -59,6 +59,7 @@ const useSlider = ({ children, autoplayMs, type, slidesToShow, }) => {
59
59
  setIsLocked,
60
60
  autoplay: autoplayEnabled && {
61
61
  delay: autoplayMs,
62
+ disableOnInteraction: false,
62
63
  },
63
64
  };
64
65
  };
@@ -5,6 +5,7 @@ const react_1 = tslib_1.__importStar(require("react"));
5
5
  const hooks_1 = require("../../hooks");
6
6
  const models_1 = require("../../models");
7
7
  const utils_1 = require("../../utils");
8
+ const i18n_1 = require("./i18n");
8
9
  const b = (0, utils_1.block)('header-breadcrumbs');
9
10
  function HeaderBreadcrumbs(props) {
10
11
  const { items, theme = 'light', className, analyticsEvents } = props;
@@ -12,7 +13,7 @@ function HeaderBreadcrumbs(props) {
12
13
  const onClick = (0, react_1.useCallback)(() => {
13
14
  handleAnalytics(analyticsEvents);
14
15
  }, [analyticsEvents, handleAnalytics]);
15
- return (react_1.default.createElement("div", { className: b({ theme }, className) }, items === null || items === void 0 ? void 0 : items.map((item) => (react_1.default.createElement("div", { className: b('item'), key: item.url },
16
+ return (react_1.default.createElement("div", { className: b({ theme }, className), "aria-label": (0, i18n_1.i18n)('label') }, items === null || items === void 0 ? void 0 : items.map((item) => (react_1.default.createElement("div", { className: b('item'), key: item.url },
16
17
  react_1.default.createElement("a", { href: item.url, className: b('text'), onClick: onClick }, item.text))))));
17
18
  }
18
19
  exports.default = HeaderBreadcrumbs;
@@ -0,0 +1,3 @@
1
+ {
2
+ "label": "You are here:"
3
+ }
@@ -0,0 +1 @@
1
+ export declare const i18n: (key: "label", params?: import("@gravity-ui/i18n").Params | undefined) => string;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.i18n = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const i18n_1 = require("@gravity-ui/uikit/i18n");
6
+ const cn_1 = require("../../../utils/cn");
7
+ const en_json_1 = tslib_1.__importDefault(require("./en.json"));
8
+ const ru_json_1 = tslib_1.__importDefault(require("./ru.json"));
9
+ exports.i18n = (0, i18n_1.addComponentKeysets)({ en: en_json_1.default, ru: ru_json_1.default }, `${cn_1.NAMESPACE}HeaderBreadcrumbs`);
@@ -0,0 +1,3 @@
1
+ {
2
+ "label": "Вы здесь:"
3
+ }
@@ -58,6 +58,7 @@ unpredictable css rules order in build */
58
58
  .pc-price-card__price-value {
59
59
  font-size: var(--g-text-display-1-font-size);
60
60
  line-height: var(--g-text-display-1-line-height);
61
+ font-weight: var(--g-text-accent-font-weight);
61
62
  }
62
63
  .pc-price-card__price-period {
63
64
  margin-left: 4px;
@@ -76,6 +76,8 @@ unpredictable css rules order in build */
76
76
  height: 32px;
77
77
  background-size: cover;
78
78
  display: block;
79
+ }
80
+ .pc-ExtendedFeaturesBlock__icon-wrap {
79
81
  margin-bottom: 12px;
80
82
  }
81
83
  @media (max-width: 577px) {
@@ -27,7 +27,8 @@ export const ExtendedFeaturesBlock = ({ title, description, items, colSizes = DE
27
27
  itemLinks.push(link);
28
28
  }
29
29
  return (React.createElement(Col, { className: b('item'), key: text || itemTitle, sizes: colSizes },
30
- iconData && React.createElement(Image, Object.assign({}, iconData, { className: b('icon') })),
30
+ iconData && (React.createElement("div", { className: b('icon-wrap'), "aria-hidden": true },
31
+ React.createElement(Image, Object.assign({}, iconData, { className: b('icon') })))),
31
32
  React.createElement("div", { className: b('container') },
32
33
  itemTitle &&
33
34
  React.createElement(itemTitleHeadingTag, {
@@ -11,10 +11,21 @@ unpredictable css rules order in build */
11
11
  .pc-SliderNewBlock_without-dots .pc-SliderNewBlock__slider {
12
12
  padding-bottom: 20px;
13
13
  }
14
- .pc-SliderNewBlock__slide {
14
+ .pc-SliderNewBlock__slide.swiper-slide {
15
15
  padding: 0 8px;
16
16
  box-sizing: border-box;
17
- flex-shrink: 0;
17
+ height: auto;
18
+ }
19
+ @keyframes safari-fix {
20
+ from {
21
+ transform: translateX(0.001px);
22
+ }
23
+ to {
24
+ transform: translateX(0);
25
+ }
26
+ }
27
+ .pc-SliderNewBlock__slide.swiper-slide.swiper-slide-visible {
28
+ animation: safari-fix 300ms;
18
29
  }
19
30
  .pc-SliderNewBlock__arrow {
20
31
  position: absolute;
@@ -708,7 +719,7 @@ unpredictable css rules order in build */
708
719
  overflow: inherit;
709
720
  }
710
721
  }
711
- .pc-SliderNewBlock_type_media-card .pc-SliderNewBlock__dots {
722
+ .pc-SliderNewBlock_type_media-card .swiper-container-horizontal .swiper-pagination-bullets {
712
723
  bottom: 24px;
713
724
  }
714
725
  .pc-SliderNewBlock_type_media-card .pc-SliderNewBlock__slider {
@@ -746,7 +757,7 @@ unpredictable css rules order in build */
746
757
  .pc-SliderNewBlock_type_header-card .pc-SliderNewBlock__wrapper {
747
758
  position: relative;
748
759
  }
749
- .pc-SliderNewBlock_type_header-card .pc-SliderNewBlock__dots {
760
+ .pc-SliderNewBlock_type_header-card .swiper-container-horizontal .swiper-pagination-bullets {
750
761
  bottom: 32px;
751
762
  }
752
763
  .pc-SliderNewBlock_type_header-card .pc-SliderNewBlock__slider {
@@ -16,5 +16,6 @@ export declare const useSlider: ({ children, autoplayMs, type, slidesToShow, }:
16
16
  setIsLocked: React.Dispatch<React.SetStateAction<boolean>>;
17
17
  autoplay: false | {
18
18
  delay: number | undefined;
19
+ disableOnInteraction: boolean;
19
20
  };
20
21
  };
@@ -55,6 +55,7 @@ export const useSlider = ({ children, autoplayMs, type, slidesToShow, }) => {
55
55
  setIsLocked,
56
56
  autoplay: autoplayEnabled && {
57
57
  delay: autoplayMs,
58
+ disableOnInteraction: false,
58
59
  },
59
60
  };
60
61
  };
@@ -2,6 +2,7 @@ import React, { useCallback } from 'react';
2
2
  import { useAnalytics } from '../../hooks';
3
3
  import { DefaultEventNames } from '../../models';
4
4
  import { block } from '../../utils';
5
+ import { i18n } from './i18n';
5
6
  import './HeaderBreadcrumbs.css';
6
7
  const b = block('header-breadcrumbs');
7
8
  export default function HeaderBreadcrumbs(props) {
@@ -10,6 +11,6 @@ export default function HeaderBreadcrumbs(props) {
10
11
  const onClick = useCallback(() => {
11
12
  handleAnalytics(analyticsEvents);
12
13
  }, [analyticsEvents, handleAnalytics]);
13
- return (React.createElement("div", { className: b({ theme }, className) }, items === null || items === void 0 ? void 0 : items.map((item) => (React.createElement("div", { className: b('item'), key: item.url },
14
+ return (React.createElement("div", { className: b({ theme }, className), "aria-label": i18n('label') }, items === null || items === void 0 ? void 0 : items.map((item) => (React.createElement("div", { className: b('item'), key: item.url },
14
15
  React.createElement("a", { href: item.url, className: b('text'), onClick: onClick }, item.text))))));
15
16
  }
@@ -0,0 +1,3 @@
1
+ {
2
+ "label": "You are here:"
3
+ }
@@ -0,0 +1 @@
1
+ export declare const i18n: (key: "label", params?: import("@gravity-ui/i18n").Params | undefined) => string;
@@ -0,0 +1,5 @@
1
+ import { addComponentKeysets } from '@gravity-ui/uikit/i18n';
2
+ import { NAMESPACE } from '../../../utils/cn';
3
+ import en from './en.json';
4
+ import ru from './ru.json';
5
+ export const i18n = addComponentKeysets({ en, ru }, `${NAMESPACE}HeaderBreadcrumbs`);
@@ -0,0 +1,3 @@
1
+ {
2
+ "label": "Вы здесь:"
3
+ }
@@ -58,6 +58,7 @@ unpredictable css rules order in build */
58
58
  .pc-price-card__price-value {
59
59
  font-size: var(--g-text-display-1-font-size);
60
60
  line-height: var(--g-text-display-1-line-height);
61
+ font-weight: var(--g-text-accent-font-weight);
61
62
  }
62
63
  .pc-price-card__price-period {
63
64
  margin-left: 4px;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gravity-ui/page-constructor",
3
- "version": "5.17.1",
3
+ "version": "5.18.0",
4
4
  "description": "Gravity UI Page Constructor",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -130,8 +130,8 @@
130
130
  "@gravity-ui/stylelint-config": "^1.0.0",
131
131
  "@gravity-ui/tsconfig": "^1.0.0",
132
132
  "@gravity-ui/uikit": "^6.2.0",
133
- "@playwright/experimental-ct-react": "^1.38.1",
134
- "@playwright/test": "^1.38.1",
133
+ "@playwright/experimental-ct-react": "^1.45.3",
134
+ "@playwright/test": "^1.45.3",
135
135
  "@storybook/addon-actions": "8.0.5",
136
136
  "@storybook/addon-essentials": "8.0.5",
137
137
  "@storybook/addon-knobs": "^7.0.2",