@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.
- package/build/cjs/blocks/SliderNew/Arrow/Arrow.css +62 -0
- package/build/cjs/blocks/SliderNew/Arrow/Arrow.d.ts +9 -0
- package/build/cjs/blocks/SliderNew/Arrow/Arrow.js +13 -0
- package/build/cjs/blocks/SliderNew/Slider.css +819 -0
- package/build/cjs/blocks/SliderNew/Slider.d.ts +13 -0
- package/build/cjs/blocks/SliderNew/Slider.js +44 -0
- package/build/cjs/blocks/SliderNew/i18n/en.json +4 -0
- package/build/cjs/blocks/SliderNew/i18n/index.d.ts +1 -0
- package/build/cjs/blocks/SliderNew/i18n/index.js +9 -0
- package/build/cjs/blocks/SliderNew/i18n/ru.json +4 -0
- package/build/cjs/blocks/SliderNew/models.d.ts +8 -0
- package/build/cjs/blocks/SliderNew/models.js +10 -0
- package/build/cjs/blocks/SliderNew/schema.d.ts +253 -0
- package/build/cjs/blocks/SliderNew/schema.js +80 -0
- package/build/cjs/blocks/SliderNew/useSlider.d.ts +20 -0
- package/build/cjs/blocks/SliderNew/useSlider.js +65 -0
- package/build/cjs/blocks/SliderNew/utils.d.ts +14 -0
- package/build/cjs/blocks/SliderNew/utils.js +31 -0
- package/build/cjs/blocks/unstable.d.ts +1 -0
- package/build/cjs/blocks/unstable.js +8 -0
- package/build/cjs/components/CardBase/CardBase.css +3 -0
- package/build/cjs/constructor-items.d.ts +1 -0
- package/build/cjs/constructor-items.js +3 -0
- package/build/cjs/editor/data/templates/slider-new-block.json +46 -0
- package/build/cjs/models/constructor-items/blocks.d.ts +20 -2
- package/build/cjs/models/constructor-items/blocks.js +2 -0
- package/build/cjs/schema/constants.d.ts +2 -1
- package/build/cjs/schema/constants.js +1 -1
- package/build/cjs/schema/validators/blocks.d.ts +1 -0
- package/build/cjs/schema/validators/blocks.js +1 -0
- package/build/cjs/sub-blocks/Quote/Quote.css +3 -0
- package/build/esm/blocks/SliderNew/Arrow/Arrow.css +62 -0
- package/build/esm/blocks/SliderNew/Arrow/Arrow.d.ts +10 -0
- package/build/esm/blocks/SliderNew/Arrow/Arrow.js +11 -0
- package/build/esm/blocks/SliderNew/Slider.css +819 -0
- package/build/esm/blocks/SliderNew/Slider.d.ts +14 -0
- package/build/esm/blocks/SliderNew/Slider.js +40 -0
- package/build/esm/blocks/SliderNew/i18n/en.json +4 -0
- package/build/esm/blocks/SliderNew/i18n/index.d.ts +1 -0
- package/build/esm/blocks/SliderNew/i18n/index.js +5 -0
- package/build/esm/blocks/SliderNew/i18n/ru.json +4 -0
- package/build/esm/blocks/SliderNew/models.d.ts +8 -0
- package/build/esm/blocks/SliderNew/models.js +7 -0
- package/build/esm/blocks/SliderNew/schema.d.ts +253 -0
- package/build/esm/blocks/SliderNew/schema.js +77 -0
- package/build/esm/blocks/SliderNew/useSlider.d.ts +20 -0
- package/build/esm/blocks/SliderNew/useSlider.js +60 -0
- package/build/esm/blocks/SliderNew/utils.d.ts +14 -0
- package/build/esm/blocks/SliderNew/utils.js +26 -0
- package/build/esm/blocks/unstable.d.ts +1 -0
- package/build/esm/blocks/unstable.js +1 -0
- package/build/esm/components/CardBase/CardBase.css +3 -0
- package/build/esm/constructor-items.d.ts +1 -0
- package/build/esm/constructor-items.js +3 -0
- package/build/esm/editor/data/templates/slider-new-block.json +46 -0
- package/build/esm/models/constructor-items/blocks.d.ts +20 -2
- package/build/esm/models/constructor-items/blocks.js +2 -0
- package/build/esm/schema/constants.d.ts +2 -1
- package/build/esm/schema/constants.js +2 -2
- package/build/esm/schema/validators/blocks.d.ts +1 -0
- package/build/esm/schema/validators/blocks.js +1 -0
- package/build/esm/sub-blocks/Quote/Quote.css +3 -0
- package/package.json +2 -1
- package/server/models/constructor-items/blocks.d.ts +20 -2
- package/server/models/constructor-items/blocks.js +2 -0
- package/styles/mixins.scss +5 -0
- 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
|
-
|
|
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;
|
|
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',
|
|
@@ -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);
|
|
@@ -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;
|