@gravity-ui/page-constructor 5.16.1 → 5.17.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.
Files changed (67) hide show
  1. package/build/cjs/blocks/SliderNew/Arrow/Arrow.css +62 -0
  2. package/build/cjs/blocks/SliderNew/Arrow/Arrow.d.ts +9 -0
  3. package/build/cjs/blocks/SliderNew/Arrow/Arrow.js +13 -0
  4. package/build/cjs/blocks/SliderNew/Slider.css +819 -0
  5. package/build/cjs/blocks/SliderNew/Slider.d.ts +13 -0
  6. package/build/cjs/blocks/SliderNew/Slider.js +44 -0
  7. package/build/cjs/blocks/SliderNew/i18n/en.json +4 -0
  8. package/build/cjs/blocks/SliderNew/i18n/index.d.ts +1 -0
  9. package/build/cjs/blocks/SliderNew/i18n/index.js +9 -0
  10. package/build/cjs/blocks/SliderNew/i18n/ru.json +4 -0
  11. package/build/cjs/blocks/SliderNew/models.d.ts +8 -0
  12. package/build/cjs/blocks/SliderNew/models.js +10 -0
  13. package/build/cjs/blocks/SliderNew/schema.d.ts +253 -0
  14. package/build/cjs/blocks/SliderNew/schema.js +80 -0
  15. package/build/cjs/blocks/SliderNew/useSlider.d.ts +20 -0
  16. package/build/cjs/blocks/SliderNew/useSlider.js +65 -0
  17. package/build/cjs/blocks/SliderNew/utils.d.ts +14 -0
  18. package/build/cjs/blocks/SliderNew/utils.js +31 -0
  19. package/build/cjs/blocks/unstable.d.ts +1 -0
  20. package/build/cjs/blocks/unstable.js +8 -0
  21. package/build/cjs/components/CardBase/CardBase.css +3 -0
  22. package/build/cjs/constructor-items.d.ts +1 -0
  23. package/build/cjs/constructor-items.js +3 -0
  24. package/build/cjs/editor/data/templates/slider-new-block.json +46 -0
  25. package/build/cjs/models/constructor-items/blocks.d.ts +20 -2
  26. package/build/cjs/models/constructor-items/blocks.js +2 -0
  27. package/build/cjs/schema/constants.d.ts +2 -1
  28. package/build/cjs/schema/constants.js +1 -1
  29. package/build/cjs/schema/validators/blocks.d.ts +1 -0
  30. package/build/cjs/schema/validators/blocks.js +1 -0
  31. package/build/cjs/sub-blocks/Quote/Quote.css +3 -0
  32. package/build/esm/blocks/SliderNew/Arrow/Arrow.css +62 -0
  33. package/build/esm/blocks/SliderNew/Arrow/Arrow.d.ts +10 -0
  34. package/build/esm/blocks/SliderNew/Arrow/Arrow.js +11 -0
  35. package/build/esm/blocks/SliderNew/Slider.css +819 -0
  36. package/build/esm/blocks/SliderNew/Slider.d.ts +14 -0
  37. package/build/esm/blocks/SliderNew/Slider.js +40 -0
  38. package/build/esm/blocks/SliderNew/i18n/en.json +4 -0
  39. package/build/esm/blocks/SliderNew/i18n/index.d.ts +1 -0
  40. package/build/esm/blocks/SliderNew/i18n/index.js +5 -0
  41. package/build/esm/blocks/SliderNew/i18n/ru.json +4 -0
  42. package/build/esm/blocks/SliderNew/models.d.ts +8 -0
  43. package/build/esm/blocks/SliderNew/models.js +7 -0
  44. package/build/esm/blocks/SliderNew/schema.d.ts +253 -0
  45. package/build/esm/blocks/SliderNew/schema.js +77 -0
  46. package/build/esm/blocks/SliderNew/useSlider.d.ts +20 -0
  47. package/build/esm/blocks/SliderNew/useSlider.js +60 -0
  48. package/build/esm/blocks/SliderNew/utils.d.ts +14 -0
  49. package/build/esm/blocks/SliderNew/utils.js +26 -0
  50. package/build/esm/blocks/unstable.d.ts +1 -0
  51. package/build/esm/blocks/unstable.js +1 -0
  52. package/build/esm/components/CardBase/CardBase.css +3 -0
  53. package/build/esm/constructor-items.d.ts +1 -0
  54. package/build/esm/constructor-items.js +3 -0
  55. package/build/esm/editor/data/templates/slider-new-block.json +46 -0
  56. package/build/esm/models/constructor-items/blocks.d.ts +20 -2
  57. package/build/esm/models/constructor-items/blocks.js +2 -0
  58. package/build/esm/schema/constants.d.ts +2 -1
  59. package/build/esm/schema/constants.js +2 -2
  60. package/build/esm/schema/validators/blocks.d.ts +1 -0
  61. package/build/esm/schema/validators/blocks.js +1 -0
  62. package/build/esm/sub-blocks/Quote/Quote.css +3 -0
  63. package/package.json +2 -1
  64. package/server/models/constructor-items/blocks.d.ts +20 -2
  65. package/server/models/constructor-items/blocks.js +2 -0
  66. package/styles/mixins.scss +5 -0
  67. package/widget/index.js +1 -1
@@ -0,0 +1,46 @@
1
+ {
2
+ "template": {
3
+ "type": "slider-new-block",
4
+ "title": {
5
+ "text": "Slider new",
6
+ "url": "https://example.com"
7
+ },
8
+ "children": [
9
+ {
10
+ "type": "basic-card",
11
+ "url": "https://example.com",
12
+ "title": "Lorem ipsum dolor sit amet",
13
+ "text": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
14
+ "icon": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNiAyN0MyMi4wNzUxIDI3IDI3IDIyLjA3NTEgMjcgMTZDMjcgOS45MjQ4NyAyMi4wNzUxIDUgMTYgNUM5LjkyNDg3IDUgNSA5LjkyNDg3IDUgMTZDNSAyMi4wNzUxIDkuOTI0ODcgMjcgMTYgMjdaTTE2IDMwQzIzLjczMiAzMCAzMCAyMy43MzIgMzAgMTZDMzAgOC4yNjgwMSAyMy43MzIgMiAxNiAyQzguMjY4MDEgMiAyIDguMjY4MDEgMiAxNkMyIDIzLjczMiA4LjI2ODAxIDMwIDE2IDMwWiIgZmlsbD0iIzI2MjYyNiIvPgo8L3N2Zz4K"
15
+ },
16
+ {
17
+ "type": "basic-card",
18
+ "url": "https://example.com",
19
+ "title": "Lorem ipsum dolor sit amet",
20
+ "text": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
21
+ "icon": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNiAyN0MyMi4wNzUxIDI3IDI3IDIyLjA3NTEgMjcgMTZDMjcgOS45MjQ4NyAyMi4wNzUxIDUgMTYgNUM5LjkyNDg3IDUgNSA5LjkyNDg3IDUgMTZDNSAyMi4wNzUxIDkuOTI0ODcgMjcgMTYgMjdaTTE2IDMwQzIzLjczMiAzMCAzMCAyMy43MzIgMzAgMTZDMzAgOC4yNjgwMSAyMy43MzIgMiAxNiAyQzguMjY4MDEgMiAyIDguMjY4MDEgMiAxNkMyIDIzLjczMiA4LjI2ODAxIDMwIDE2IDMwWiIgZmlsbD0iIzI2MjYyNiIvPgo8L3N2Zz4K"
22
+ },
23
+ {
24
+ "type": "basic-card",
25
+ "url": "https://example.com",
26
+ "title": "Lorem ipsum dolor sit amet",
27
+ "text": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
28
+ "icon": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNiAyN0MyMi4wNzUxIDI3IDI3IDIyLjA3NTEgMjcgMTZDMjcgOS45MjQ4NyAyMi4wNzUxIDUgMTYgNUM5LjkyNDg3IDUgNSA5LjkyNDg3IDUgMTZDNSAyMi4wNzUxIDkuOTI0ODcgMjcgMTYgMjdaTTE2IDMwQzIzLjczMiAzMCAzMCAyMy43MzIgMzAgMTZDMzAgOC4yNjgwMSAyMy43MzIgMiAxNiAyQzguMjY4MDEgMiAyIDguMjY4MDEgMiAxNkMyIDIzLjczMiA4LjI2ODAxIDMwIDE2IDMwWiIgZmlsbD0iIzI2MjYyNiIvPgo8L3N2Zz4K"
29
+ },
30
+ {
31
+ "type": "basic-card",
32
+ "url": "https://example.com",
33
+ "title": "Lorem ipsum dolor sit amet",
34
+ "text": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
35
+ "icon": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNiAyN0MyMi4wNzUxIDI3IDI3IDIyLjA3NTEgMjcgMTZDMjcgOS45MjQ4NyAyMi4wNzUxIDUgMTYgNUM5LjkyNDg3IDUgNSA5LjkyNDg3IDUgMTZDNSAyMi4wNzUxIDkuOTI0ODcgMjcgMTYgMjdaTTE2IDMwQzIzLjczMiAzMCAzMCAyMy43MzIgMzAgMTZDMzAgOC4yNjgwMSAyMy43MzIgMiAxNiAyQzguMjY4MDEgMiAyIDguMjY4MDEgMiAxNkMyIDIzLjczMiA4LjI2ODAxIDMwIDE2IDMwWiIgZmlsbD0iIzI2MjYyNiIvPgo8L3N2Zz4K"
36
+ },
37
+ {
38
+ "type": "basic-card",
39
+ "url": "https://example.com",
40
+ "title": "Lorem ipsum dolor sit amet",
41
+ "text": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
42
+ "icon": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNiAyN0MyMi4wNzUxIDI3IDI3IDIyLjA3NTEgMjcgMTZDMjcgOS45MjQ4NyAyMi4wNzUxIDUgMTYgNUM5LjkyNDg3IDUgNSA5LjkyNDg3IDUgMTZDNSAyMi4wNzUxIDkuOTI0ODcgMjcgMTYgMjdaTTE2IDMwQzIzLjczMiAzMCAzMCAyMy43MzIgMzAgMTZDMzAgOC4yNjgwMSAyMy43MzIgMiAxNiAyQzguMjY4MDEgMiAyIDguMjY4MDEgMiAxNkMyIDIzLjczMiA4LjI2ODAxIDMwIDE2IDMwWiIgZmlsbD0iIzI2MjYyNiIvPgo8L3N2Zz4K"
43
+ }
44
+ ]
45
+ }
46
+ }
@@ -24,7 +24,8 @@ export declare enum BlockType {
24
24
  ShareBlock = "share-block",
25
25
  MapBlock = "map-block",
26
26
  FilterBlock = "filter-block",
27
- FormBlock = "form-block"
27
+ FormBlock = "form-block",
28
+ SliderNewBlock = "slider-new-block"
28
29
  }
29
30
  export declare const BlockTypes: BlockType[];
30
31
  export declare const HeaderBlockTypes: BlockType[];
@@ -79,6 +80,19 @@ export interface SliderProps extends Childable, Animatable, LoadableChildren {
79
80
  randomOrder?: boolean;
80
81
  adaptive?: boolean;
81
82
  }
83
+ export interface SliderNewProps extends Childable, Animatable, LoadableChildren {
84
+ dots?: boolean;
85
+ arrows?: boolean;
86
+ slidesToShow?: SlidesToShow;
87
+ disclaimer?: {
88
+ text: string;
89
+ size?: TextSize;
90
+ };
91
+ title?: TitleItemBaseProps;
92
+ description?: string;
93
+ autoplay?: number;
94
+ randomOrder?: boolean;
95
+ }
82
96
  export interface HeaderSliderBlockProps extends Omit<SliderProps, 'title' | 'description'> {
83
97
  items: HeaderBlockProps[];
84
98
  }
@@ -395,6 +409,10 @@ export type ShareBLockModel = {
395
409
  export type FormBlockModel = {
396
410
  type: BlockType.FormBlock;
397
411
  } & FormBlockProps;
412
+ export type SliderNewBlockModel = {
413
+ type: BlockType.SliderNewBlock;
414
+ } & SliderNewProps;
398
415
  type BlockModels = SliderBlockModel | ExtendedFeaturesBlockModel | PromoFeaturesBlockModel | QuestionsBlockModel | BannerBlockModel | CompaniesBlockModel | MediaBlockModel | MapBlockModel | InfoBlockModel | TableBlockModel | TabsBlockModel | HeaderBlockModel | IconsBlockModel | HeaderSliderBlockModel | CardLayoutBlockModel | ContentLayoutBlockModel | ShareBLockModel | FilterBlockModel | FormBlockModel;
399
- export type Block = BlockModels & BlockBaseProps;
416
+ type UnstableBlockModels = SliderNewBlockModel;
417
+ export type Block = (BlockModels | UnstableBlockModels) & BlockBaseProps;
400
418
  export {};
@@ -22,6 +22,8 @@ var BlockType;
22
22
  BlockType["MapBlock"] = "map-block";
23
23
  BlockType["FilterBlock"] = "filter-block";
24
24
  BlockType["FormBlock"] = "form-block";
25
+ // unstable
26
+ BlockType["SliderNewBlock"] = "slider-new-block";
25
27
  })(BlockType = exports.BlockType || (exports.BlockType = {}));
26
28
  exports.BlockTypes = Object.values(BlockType);
27
29
  exports.HeaderBlockTypes = [BlockType.HeaderBlock, BlockType.HeaderSliderBlock];
@@ -132,7 +132,7 @@ export declare const cardSchemas: {
132
132
  };
133
133
  } | undefined;
134
134
  controlPosition: {
135
- type: string; /** @deprecated */
135
+ type: string;
136
136
  enum: string[];
137
137
  };
138
138
  border: {
@@ -1012,6 +1012,7 @@ export declare const cardSchemas: {
1012
1012
  };
1013
1013
  descriptionSize: {
1014
1014
  type: string;
1015
+ /** @deprecated */
1015
1016
  enum: string[];
1016
1017
  };
1017
1018
  titleColor: {
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.constructorCardSchemaNames = exports.constructorBlockSchemaNames = exports.cardSchemas = exports.blockSchemas = void 0;
4
4
  const blocks_1 = require("./validators/blocks");
5
5
  const sub_blocks_1 = require("./validators/sub-blocks");
6
- exports.blockSchemas = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, sub_blocks_1.Divider), blocks_1.ExtendedFeaturesBlock), blocks_1.PromoFeaturesBlock), blocks_1.SliderBlock), blocks_1.QuestionsBlock), blocks_1.HeaderBlock), blocks_1.BannerBlock), blocks_1.CompaniesBlock), blocks_1.MediaBlock), blocks_1.MapBlock), blocks_1.InfoBlock), blocks_1.TableBlock), blocks_1.TabsBlock), blocks_1.HeaderSliderBlock), blocks_1.IconsBlock), blocks_1.CardLayoutBlock), blocks_1.ContentLayoutBlock), blocks_1.ShareBlock), blocks_1.FilterBlock), blocks_1.FormBlock);
6
+ exports.blockSchemas = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, sub_blocks_1.Divider), blocks_1.ExtendedFeaturesBlock), blocks_1.PromoFeaturesBlock), blocks_1.SliderBlock), blocks_1.QuestionsBlock), blocks_1.HeaderBlock), blocks_1.BannerBlock), blocks_1.CompaniesBlock), blocks_1.MediaBlock), blocks_1.MapBlock), blocks_1.InfoBlock), blocks_1.TableBlock), blocks_1.TabsBlock), blocks_1.HeaderSliderBlock), blocks_1.IconsBlock), blocks_1.CardLayoutBlock), blocks_1.ContentLayoutBlock), blocks_1.ShareBlock), blocks_1.FilterBlock), blocks_1.FormBlock), blocks_1.SliderNewBlock);
7
7
  exports.cardSchemas = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, sub_blocks_1.MediaCardBlock), blocks_1.BannerCard), sub_blocks_1.PriceDetailedBlock), sub_blocks_1.BackgroundCard), sub_blocks_1.Quote), sub_blocks_1.BasicCard), sub_blocks_1.PriceCardBlock), sub_blocks_1.ImageCard);
8
8
  exports.constructorBlockSchemaNames = [
9
9
  'divider',
@@ -17,3 +17,4 @@ export * from '../../blocks/ContentLayout/schema';
17
17
  export * from '../../blocks/Share/schema';
18
18
  export * from '../../blocks/FilterBlock/schema';
19
19
  export * from '../../blocks/Form/schema';
20
+ export * from '../../blocks/SliderNew/schema';
@@ -20,3 +20,4 @@ tslib_1.__exportStar(require("../../blocks/ContentLayout/schema"), exports);
20
20
  tslib_1.__exportStar(require("../../blocks/Share/schema"), exports);
21
21
  tslib_1.__exportStar(require("../../blocks/FilterBlock/schema"), exports);
22
22
  tslib_1.__exportStar(require("../../blocks/Form/schema"), exports);
23
+ tslib_1.__exportStar(require("../../blocks/SliderNew/schema"), exports);
@@ -35,6 +35,9 @@ unpredictable css rules order in build */
35
35
  .slick-slide:not(.slick-active) .pc-quote {
36
36
  box-shadow: none;
37
37
  }
38
+ .swiper-slide:not(.swiper-slide-visible) .pc-quote {
39
+ box-shadow: none;
40
+ }
38
41
  }
39
42
  .pc-quote__logo {
40
43
  height: 48px;
@@ -0,0 +1,62 @@
1
+ .pc-slider-new-block-arrow__button {
2
+ box-shadow: 0px 4px 24px var(--pc-color-sfx-shadow), 0px 2px 8px var(--pc-color-sfx-shadow);
3
+ }
4
+
5
+ .pc-slider-new-block-arrow__button:hover {
6
+ box-shadow: 0px 4px 24px var(--g-color-sfx-shadow), 0px 2px 8px var(--g-color-sfx-shadow);
7
+ cursor: pointer;
8
+ }
9
+
10
+ /* use this for style redefinitions to awoid problems with
11
+ unpredictable css rules order in build */
12
+ .pc-slider-new-block-arrow__icon-wrapper, .pc-slider-new-block-arrow__button, .pc-slider-new-block-arrow {
13
+ display: flex;
14
+ align-items: center;
15
+ justify-content: center;
16
+ }
17
+
18
+ .pc-slider-new-block-arrow {
19
+ width: 42px;
20
+ height: 42px;
21
+ cursor: pointer;
22
+ }
23
+ @media (max-width: 576px) {
24
+ .pc-slider-new-block-arrow {
25
+ display: none;
26
+ }
27
+ }
28
+ .pc-slider-new-block-arrow_type_left .pc-slider-new-block-arrow__icon-wrapper {
29
+ transform: rotate(180deg);
30
+ }
31
+ .pc-slider-new-block-arrow__button {
32
+ display: inline-block;
33
+ margin: 0;
34
+ padding: 0;
35
+ font: inherit;
36
+ border: none;
37
+ outline: none;
38
+ color: inherit;
39
+ background: none;
40
+ cursor: pointer;
41
+ width: 42px;
42
+ height: 42px;
43
+ color: var(--g-color-text-secondary);
44
+ border-radius: 100%;
45
+ background-color: var(--g-color-base-background);
46
+ box-shadow: 0 4px 24px var(--pc-color-sfx-shadow), 0 2px 8px var(--pc-color-sfx-shadow);
47
+ transition: box-shadow 0.3s cubic-bezier(0.22, 0.61, 0.36, 1), color 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
48
+ }
49
+ .pc-slider-new-block-arrow__button:focus {
50
+ outline: 2px solid var(--g-color-line-focus);
51
+ outline-offset: 0;
52
+ }
53
+ .pc-slider-new-block-arrow__button:focus:not(:focus-visible) {
54
+ outline: 0;
55
+ }
56
+ .pc-slider-new-block-arrow:hover .pc-slider-new-block-arrow__button {
57
+ color: var(--g-color-text-primary);
58
+ box-shadow: 0 2px 12px var(--pc-color-sfx-shadow), 0 4px 24px var(--pc-color-sfx-shadow);
59
+ }
60
+ .pc-slider-new-block-arrow__icon {
61
+ position: relative;
62
+ }
@@ -0,0 +1,10 @@
1
+ import { ClassNameProps } from '../../../models';
2
+ import './Arrow.css';
3
+ export type ArrowType = 'left' | 'right';
4
+ export interface ArrowProps {
5
+ type: ArrowType;
6
+ onClick?: () => void;
7
+ size?: number;
8
+ }
9
+ declare const Arrow: ({ type, onClick, className, size }: ArrowProps & ClassNameProps) => JSX.Element;
10
+ export default Arrow;
@@ -0,0 +1,11 @@
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, onClick, className, size = 16 }) => (React.createElement("div", { className: b({ type }, className) },
8
+ React.createElement("button", { className: b('button'), onClick: onClick, "aria-label": i18n(`arrow-${type}`) },
9
+ React.createElement("span", { className: b('icon-wrapper') },
10
+ React.createElement(ToggleArrow, { size: size, type: 'horizontal', iconType: "navigation", className: b('icon') })))));
11
+ export default Arrow;