@redneckz/wildless-cms-uni-blocks 0.3.18 → 0.3.19
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/bundle/blocks.schema.json +1 -1
- package/bundle/bundle.umd.js +42 -8
- package/bundle/bundle.umd.min.js +1 -1
- package/cosmos-static/icons/ArrowsRewindRight.svg +1 -0
- package/dist/components/BaseTile/BaseTile.js +1 -1
- package/dist/components/BaseTile/BaseTile.js.map +1 -1
- package/dist/components/Blocks.d.ts +1 -0
- package/dist/components/Blocks.js +2 -0
- package/dist/components/Blocks.js.map +1 -1
- package/dist/components/ProductBlock/ProductBlockContent.d.ts +7 -1
- package/dist/components/ProductBlock/ProductBlockInner.js +9 -2
- package/dist/components/ProductBlock/ProductBlockInner.js.map +1 -1
- package/dist/components/ProductGallery/ProductGalleryContent.d.ts +1 -1
- package/dist/components/ProductGalleryGreen/ProductGalleryGreen.d.ts +5 -0
- package/dist/components/ProductGalleryGreen/ProductGalleryGreen.js +32 -0
- package/dist/components/ProductGalleryGreen/ProductGalleryGreen.js.map +1 -0
- package/dist/components/ProductGalleryGreen/ProductGalleryGreenContent.d.ts +30 -0
- package/dist/components/ProductGalleryGreen/ProductGalleryGreenContent.js +2 -0
- package/dist/components/ProductGalleryGreen/ProductGalleryGreenContent.js.map +1 -0
- package/dist/icons/IconName.d.ts +3 -2
- package/dist/icons/IconName.js +1 -0
- package/dist/icons/IconName.js.map +1 -1
- package/dist/ui-kit/Heading/Heading.js +2 -2
- package/dist/ui-kit/Heading/Heading.js.map +1 -1
- package/lib/common.css +1 -1
- package/lib/components/BaseTile/BaseTile.js +1 -1
- package/lib/components/BaseTile/BaseTile.js.map +1 -1
- package/lib/components/Blocks.d.ts +1 -0
- package/lib/components/Blocks.js +2 -0
- package/lib/components/Blocks.js.map +1 -1
- package/lib/components/ProductBlock/ProductBlockContent.d.ts +7 -1
- package/lib/components/ProductBlock/ProductBlockInner.js +9 -2
- package/lib/components/ProductBlock/ProductBlockInner.js.map +1 -1
- package/lib/components/ProductGallery/ProductGalleryContent.d.ts +1 -1
- package/lib/components/ProductGalleryGreen/ProductGalleryGreen.d.ts +5 -0
- package/lib/components/ProductGalleryGreen/ProductGalleryGreen.fixture.d.ts +4 -0
- package/lib/components/ProductGalleryGreen/ProductGalleryGreen.js +30 -0
- package/lib/components/ProductGalleryGreen/ProductGalleryGreen.js.map +1 -0
- package/lib/components/ProductGalleryGreen/ProductGalleryGreenContent.d.ts +30 -0
- package/lib/components/ProductGalleryGreen/ProductGalleryGreenContent.js +2 -0
- package/lib/components/ProductGalleryGreen/ProductGalleryGreenContent.js.map +1 -0
- package/lib/icons/IconName.d.ts +3 -2
- package/lib/icons/IconName.js +1 -0
- package/lib/icons/IconName.js.map +1 -1
- package/lib/ui-kit/Heading/Heading.js +2 -2
- package/lib/ui-kit/Heading/Heading.js.map +1 -1
- package/mobile/bundle/bundle.umd.js +1 -1
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/dist/components/BaseTile/BaseTile.js +1 -1
- package/mobile/dist/components/BaseTile/BaseTile.js.map +1 -1
- package/mobile/dist/components/ProductBlock/ProductBlockContent.d.ts +7 -1
- package/mobile/dist/components/ProductGallery/ProductGalleryContent.d.ts +1 -1
- package/mobile/dist/components/ProductGalleryGreen/ProductGalleryGreen.d.ts +5 -0
- package/mobile/dist/components/ProductGalleryGreen/ProductGalleryGreen.js +32 -0
- package/mobile/dist/components/ProductGalleryGreen/ProductGalleryGreen.js.map +1 -0
- package/mobile/dist/components/ProductGalleryGreen/ProductGalleryGreenContent.d.ts +30 -0
- package/mobile/dist/components/ProductGalleryGreen/ProductGalleryGreenContent.js +2 -0
- package/mobile/dist/components/ProductGalleryGreen/ProductGalleryGreenContent.js.map +1 -0
- package/mobile/dist/icons/IconName.d.ts +3 -2
- package/mobile/dist/icons/IconName.js +1 -0
- package/mobile/dist/icons/IconName.js.map +1 -1
- package/mobile/lib/components/BaseTile/BaseTile.js +1 -1
- package/mobile/lib/components/BaseTile/BaseTile.js.map +1 -1
- package/mobile/lib/components/ProductBlock/ProductBlockContent.d.ts +7 -1
- package/mobile/lib/components/ProductGallery/ProductGalleryContent.d.ts +1 -1
- package/mobile/lib/components/ProductGalleryGreen/ProductGalleryGreen.d.ts +5 -0
- package/mobile/lib/components/ProductGalleryGreen/ProductGalleryGreen.js +30 -0
- package/mobile/lib/components/ProductGalleryGreen/ProductGalleryGreen.js.map +1 -0
- package/mobile/lib/components/ProductGalleryGreen/ProductGalleryGreenContent.d.ts +30 -0
- package/mobile/lib/components/ProductGalleryGreen/ProductGalleryGreenContent.js +2 -0
- package/mobile/lib/components/ProductGalleryGreen/ProductGalleryGreenContent.js.map +1 -0
- package/mobile/lib/icons/IconName.d.ts +3 -2
- package/mobile/lib/icons/IconName.js +1 -0
- package/mobile/lib/icons/IconName.js.map +1 -1
- package/mobile/src/components/BaseTile/BaseTile.tsx +1 -1
- package/mobile/src/components/ProductBlock/ProductBlockContent.ts +7 -1
- package/mobile/src/components/ProductGallery/ProductGalleryContent.ts +1 -1
- package/mobile/src/components/ProductGalleryGreen/ProductGalleryGreen.example.json +22 -0
- package/mobile/src/components/ProductGalleryGreen/ProductGalleryGreen.tsx +98 -0
- package/mobile/src/components/ProductGalleryGreen/ProductGalleryGreenContent.ts +32 -0
- package/mobile/src/icons/ArrowsRewindRight.svg +16 -0
- package/mobile/src/icons/IconName.ts +3 -3
- package/package.json +1 -1
- package/src/components/BaseTile/BaseTile.tsx +1 -1
- package/src/components/Blocks.ts +2 -0
- package/src/components/ProductBlock/ProductBlockContent.ts +7 -1
- package/src/components/ProductBlock/ProductBlockInner.tsx +23 -15
- package/src/components/ProductGallery/ProductGallery.fixture.mobile.tsx +2 -2
- package/src/components/ProductGallery/ProductGallery.fixture.tsx +4 -4
- package/src/components/ProductGallery/ProductGalleryContent.ts +1 -1
- package/src/components/ProductGalleryGreen/ProductGalleryGreen.example.json +22 -0
- package/src/components/ProductGalleryGreen/ProductGalleryGreen.fixture.tsx +114 -0
- package/src/components/ProductGalleryGreen/ProductGalleryGreen.tsx +98 -0
- package/src/components/ProductGalleryGreen/ProductGalleryGreenContent.ts +32 -0
- package/src/icons/ArrowsRewindRight.svg +16 -0
- package/src/icons/IconName.ts +149 -4
- package/src/ui-kit/Heading/Heading.tsx +2 -2
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { ProductBlockInnerContent } from '../ProductBlock/ProductBlockContent';
|
|
2
|
+
/** @title Кнопка под слайдом */
|
|
3
|
+
interface ProductGalleryNav {
|
|
4
|
+
/** @title Заголовок */
|
|
5
|
+
title: string;
|
|
6
|
+
/** @title Описание */
|
|
7
|
+
description: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* @title Слайд
|
|
11
|
+
*/
|
|
12
|
+
export interface ProductSlide {
|
|
13
|
+
/** @title Превью содержимого слайда на навигации */
|
|
14
|
+
nav?: ProductGalleryNav;
|
|
15
|
+
/** @title Содержимое слайда */
|
|
16
|
+
productBlock: ProductBlockInnerContent;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* @title Продуктовая галерея
|
|
20
|
+
*/
|
|
21
|
+
export interface ProductGalleryGreenContent {
|
|
22
|
+
/**
|
|
23
|
+
* @title Задержка
|
|
24
|
+
* @hidden //! temporary not used
|
|
25
|
+
*/
|
|
26
|
+
duration?: number;
|
|
27
|
+
/** @title Слайды */
|
|
28
|
+
slides?: ProductSlide[];
|
|
29
|
+
}
|
|
30
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProductGalleryGreenContent.js","sourceRoot":"","sources":["../../../src/components/ProductGalleryGreen/ProductGalleryGreenContent.ts"],"names":[],"mappings":""}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export declare enum IconMap {
|
|
2
2
|
ActualBalanceIcon = "ActualBalanceIcon",
|
|
3
3
|
AppleIcon = "AppleIcon",
|
|
4
|
+
ArrowsRewindRight = "ArrowsRewindRight",
|
|
4
5
|
AtmIcon = "AtmIcon",
|
|
5
6
|
BankIcon = "BankIcon",
|
|
6
7
|
BurgerIcon = "BurgerIcon",
|
|
@@ -77,7 +78,7 @@ export declare enum IconMap {
|
|
|
77
78
|
* @title Иконка
|
|
78
79
|
* @enumNames [
|
|
79
80
|
* "",
|
|
80
|
-
* "Деньги", "Лого «Apple»", "Банкомат", "Банк", "Бургер", "Бургер (белый)", "Календарь 2", "Скруглённый календарь", "Календарь", "Календарь с галочкой", "Календарь белый", "Кред. карта", "Кред. карта под наклоном", "Кред. карта с галочкой", "Карта с драгоценностями", "Деньги внутри кошелька", "Часы", "Крестик", "Кресло", "Кредитные карты", "Скидка", "Документ", "Документ (одноцветный)", "Документ с текстом", "Доллар", "Земля", "Пустой кошелёк с возвратом", "Пустой кошелёк", "Пустой кошелёк (белый)", "Евро", "Геолокация", "Зеркало", "Глобус", "Gps", "Сетка", "Сетка (белая)", "Диаграмма роста", "Скидка", "JCB", "Лупа", "MasterCard", "Минус", "МИР", "Деньги", "Денежное страхование", "Монитор и мобильный", "Новый документ", "Офис", "Лого «Одноклассники»", "Бизнес", "Проценты (круг.)", "Проценты", "Проценты белые", "Персональная карта", "Лого «PlayMarket»", "Плюс", "Профиль, 2 персоны", "Профиль", "Рубль (круг.)", "Сейф", "Безопасность", "Подписанные документы", "Маленькие часы", "Лого «Telegram»", "UnionPay", "Пользователь", "Visa", "Лого «VK»", "Пополнение карты", "Кошелёк с плюсом", "Кошелёк", "Кошелёк с деньгами"
|
|
81
|
+
* "Деньги", "Лого «Apple»", "ArrowsRewindRight", "Банкомат", "Банк", "Бургер", "Бургер (белый)", "Календарь 2", "Скруглённый календарь", "Календарь", "Календарь с галочкой", "Календарь белый", "Кред. карта", "Кред. карта под наклоном", "Кред. карта с галочкой", "Карта с драгоценностями", "Деньги внутри кошелька", "Часы", "Крестик", "Кресло", "Кредитные карты", "Скидка", "Документ", "Документ (одноцветный)", "Документ с текстом", "Доллар", "Земля", "Пустой кошелёк с возвратом", "Пустой кошелёк", "Пустой кошелёк (белый)", "Евро", "Геолокация", "Зеркало", "Глобус", "Gps", "Сетка", "Сетка (белая)", "Диаграмма роста", "Скидка", "JCB", "Лупа", "MasterCard", "Минус", "МИР", "Деньги", "Денежное страхование", "Монитор и мобильный", "Новый документ", "Офис", "Лого «Одноклассники»", "Бизнес", "Проценты (круг.)", "Проценты", "Проценты белые", "Персональная карта", "Лого «PlayMarket»", "Плюс", "Профиль, 2 персоны", "Профиль", "Рубль (круг.)", "Сейф", "Безопасность", "Подписанные документы", "Маленькие часы", "Лого «Telegram»", "UnionPay", "Пользователь", "Visa", "Лого «VK»", "Пополнение карты", "Кошелёк с плюсом", "Кошелёк", "Кошелёк с деньгами"
|
|
81
82
|
* ]
|
|
82
83
|
*/
|
|
83
|
-
export declare type IconName = "" | "ActualBalanceIcon" | "AppleIcon" | "AtmIcon" | "BankIcon" | "BurgerIcon" | "BurgerIconWhite" | "Calendar2Icon" | "CalendarCircleIcon" | "CalendarIcon" | "CalendarTickIcon" | "CalendarWhiteIcon" | "CardIcon" | "CardPosIcon" | "CardTickIcon" | "CardWithGemIcon" | "ChartSquareIcon" | "ClockIcon" | "CloseIcon" | "ComfortableCompIcon" | "CreditCardsIcon" | "DiscountShapeIcon" | "DocIcon" | "DocIconMonoColor" | "DocumentTextIcon" | "DollarIcon" | "EarthIcon" | "EmptyWalletChangeIcon" | "EmptyWalletIcon" | "EmptyWalletWhiteIcon" | "EuroIcon" | "GeolocationIcon" | "GlassIcon" | "GlobalIcon" | "GpsIcon" | "GridIcon" | "GridIconWhite" | "InterestGrowthIcon" | "InterestIcon" | "JCBIcon" | "LoupeIcon" | "MasterCardIcon" | "MinusIcon" | "MirIcon" | "MoneyIcon" | "MoneyInsuranceIcon" | "MonitorMobileIcon" | "NewDocIcon" | "OfficeIcon" | "OkIcon" | "PassSendIcon" | "PercentageRoundIcon" | "PercentageSquareIcon" | "PercentageSquareWhiteIcon" | "PersonalCardIcon" | "PlayMarketIcon" | "PlusIcon" | "Profile2UserIcon" | "ProfileIcon" | "RoundRubleIcon" | "SafeIcon" | "ShieldTickIcon" | "SignDocsIcon" | "SmallClockIcon" | "TelegramIcon" | "UnionPayIcon" | "UserTickIcon" | "VisaIcon" | "VKIcon" | "WalletAdd2Icon" | "WalletAddIcon" | "WalletIcon" | "WalletWithMoneyIcon";
|
|
84
|
+
export declare type IconName = "" | "ActualBalanceIcon" | "AppleIcon" | "ArrowsRewindRight" | "AtmIcon" | "BankIcon" | "BurgerIcon" | "BurgerIconWhite" | "Calendar2Icon" | "CalendarCircleIcon" | "CalendarIcon" | "CalendarTickIcon" | "CalendarWhiteIcon" | "CardIcon" | "CardPosIcon" | "CardTickIcon" | "CardWithGemIcon" | "ChartSquareIcon" | "ClockIcon" | "CloseIcon" | "ComfortableCompIcon" | "CreditCardsIcon" | "DiscountShapeIcon" | "DocIcon" | "DocIconMonoColor" | "DocumentTextIcon" | "DollarIcon" | "EarthIcon" | "EmptyWalletChangeIcon" | "EmptyWalletIcon" | "EmptyWalletWhiteIcon" | "EuroIcon" | "GeolocationIcon" | "GlassIcon" | "GlobalIcon" | "GpsIcon" | "GridIcon" | "GridIconWhite" | "InterestGrowthIcon" | "InterestIcon" | "JCBIcon" | "LoupeIcon" | "MasterCardIcon" | "MinusIcon" | "MirIcon" | "MoneyIcon" | "MoneyInsuranceIcon" | "MonitorMobileIcon" | "NewDocIcon" | "OfficeIcon" | "OkIcon" | "PassSendIcon" | "PercentageRoundIcon" | "PercentageSquareIcon" | "PercentageSquareWhiteIcon" | "PersonalCardIcon" | "PlayMarketIcon" | "PlusIcon" | "Profile2UserIcon" | "ProfileIcon" | "RoundRubleIcon" | "SafeIcon" | "ShieldTickIcon" | "SignDocsIcon" | "SmallClockIcon" | "TelegramIcon" | "UnionPayIcon" | "UserTickIcon" | "VisaIcon" | "VKIcon" | "WalletAdd2Icon" | "WalletAddIcon" | "WalletIcon" | "WalletWithMoneyIcon";
|
|
@@ -3,6 +3,7 @@ export var IconMap;
|
|
|
3
3
|
(function (IconMap) {
|
|
4
4
|
IconMap["ActualBalanceIcon"] = "ActualBalanceIcon";
|
|
5
5
|
IconMap["AppleIcon"] = "AppleIcon";
|
|
6
|
+
IconMap["ArrowsRewindRight"] = "ArrowsRewindRight";
|
|
6
7
|
IconMap["AtmIcon"] = "AtmIcon";
|
|
7
8
|
IconMap["BankIcon"] = "BankIcon";
|
|
8
9
|
IconMap["BurgerIcon"] = "BurgerIcon";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconName.js","sourceRoot":"","sources":["../../src/icons/IconName.ts"],"names":[],"mappings":"AACA,0BAA0B;AAE1B,MAAM,CAAN,IAAY,OAEX;AAFD,WAAY,OAAO;IACjB,kDAAuC,CAAA;IAAE,kCAAuB,CAAA;IAAE,8BAAmB,CAAA;IAAE,gCAAqB,CAAA;IAAE,oCAAyB,CAAA;IAAE,8CAAmC,CAAA;IAAE,0CAA+B,CAAA;IAAE,oDAAyC,CAAA;IAAE,wCAA6B,CAAA;IAAE,gDAAqC,CAAA;IAAE,kDAAuC,CAAA;IAAE,gCAAqB,CAAA;IAAE,sCAA2B,CAAA;IAAE,wCAA6B,CAAA;IAAE,8CAAmC,CAAA;IAAE,8CAAmC,CAAA;IAAE,kCAAuB,CAAA;IAAE,kCAAuB,CAAA;IAAE,sDAA2C,CAAA;IAAE,8CAAmC,CAAA;IAAE,kDAAuC,CAAA;IAAE,8BAAmB,CAAA;IAAE,gDAAqC,CAAA;IAAE,gDAAqC,CAAA;IAAE,oCAAyB,CAAA;IAAE,kCAAuB,CAAA;IAAE,0DAA+C,CAAA;IAAE,8CAAmC,CAAA;IAAE,wDAA6C,CAAA;IAAE,gCAAqB,CAAA;IAAE,8CAAmC,CAAA;IAAE,kCAAuB,CAAA;IAAE,oCAAyB,CAAA;IAAE,8BAAmB,CAAA;IAAE,gCAAqB,CAAA;IAAE,0CAA+B,CAAA;IAAE,oDAAyC,CAAA;IAAE,wCAA6B,CAAA;IAAE,8BAAmB,CAAA;IAAE,kCAAuB,CAAA;IAAE,4CAAiC,CAAA;IAAE,kCAAuB,CAAA;IAAE,8BAAmB,CAAA;IAAE,kCAAuB,CAAA;IAAE,oDAAyC,CAAA;IAAE,kDAAuC,CAAA;IAAE,oCAAyB,CAAA;IAAE,oCAAyB,CAAA;IAAE,4BAAiB,CAAA;IAAE,wCAA6B,CAAA;IAAE,sDAA2C,CAAA;IAAE,wDAA6C,CAAA;IAAE,kEAAuD,CAAA;IAAE,gDAAqC,CAAA;IAAE,4CAAiC,CAAA;IAAE,gCAAqB,CAAA;IAAE,gDAAqC,CAAA;IAAE,sCAA2B,CAAA;IAAE,4CAAiC,CAAA;IAAE,gCAAqB,CAAA;IAAE,4CAAiC,CAAA;IAAE,wCAA6B,CAAA;IAAE,4CAAiC,CAAA;IAAE,wCAA6B,CAAA;IAAE,wCAA6B,CAAA;IAAE,wCAA6B,CAAA;IAAE,gCAAqB,CAAA;IAAE,4BAAiB,CAAA;IAAE,4CAAiC,CAAA;IAAE,0CAA+B,CAAA;IAAE,oCAAyB,CAAA;IAAE,sDAA2C,CAAA;
|
|
1
|
+
{"version":3,"file":"IconName.js","sourceRoot":"","sources":["../../src/icons/IconName.ts"],"names":[],"mappings":"AACA,0BAA0B;AAE1B,MAAM,CAAN,IAAY,OAEX;AAFD,WAAY,OAAO;IACjB,kDAAuC,CAAA;IAAE,kCAAuB,CAAA;IAAE,kDAAuC,CAAA;IAAE,8BAAmB,CAAA;IAAE,gCAAqB,CAAA;IAAE,oCAAyB,CAAA;IAAE,8CAAmC,CAAA;IAAE,0CAA+B,CAAA;IAAE,oDAAyC,CAAA;IAAE,wCAA6B,CAAA;IAAE,gDAAqC,CAAA;IAAE,kDAAuC,CAAA;IAAE,gCAAqB,CAAA;IAAE,sCAA2B,CAAA;IAAE,wCAA6B,CAAA;IAAE,8CAAmC,CAAA;IAAE,8CAAmC,CAAA;IAAE,kCAAuB,CAAA;IAAE,kCAAuB,CAAA;IAAE,sDAA2C,CAAA;IAAE,8CAAmC,CAAA;IAAE,kDAAuC,CAAA;IAAE,8BAAmB,CAAA;IAAE,gDAAqC,CAAA;IAAE,gDAAqC,CAAA;IAAE,oCAAyB,CAAA;IAAE,kCAAuB,CAAA;IAAE,0DAA+C,CAAA;IAAE,8CAAmC,CAAA;IAAE,wDAA6C,CAAA;IAAE,gCAAqB,CAAA;IAAE,8CAAmC,CAAA;IAAE,kCAAuB,CAAA;IAAE,oCAAyB,CAAA;IAAE,8BAAmB,CAAA;IAAE,gCAAqB,CAAA;IAAE,0CAA+B,CAAA;IAAE,oDAAyC,CAAA;IAAE,wCAA6B,CAAA;IAAE,8BAAmB,CAAA;IAAE,kCAAuB,CAAA;IAAE,4CAAiC,CAAA;IAAE,kCAAuB,CAAA;IAAE,8BAAmB,CAAA;IAAE,kCAAuB,CAAA;IAAE,oDAAyC,CAAA;IAAE,kDAAuC,CAAA;IAAE,oCAAyB,CAAA;IAAE,oCAAyB,CAAA;IAAE,4BAAiB,CAAA;IAAE,wCAA6B,CAAA;IAAE,sDAA2C,CAAA;IAAE,wDAA6C,CAAA;IAAE,kEAAuD,CAAA;IAAE,gDAAqC,CAAA;IAAE,4CAAiC,CAAA;IAAE,gCAAqB,CAAA;IAAE,gDAAqC,CAAA;IAAE,sCAA2B,CAAA;IAAE,4CAAiC,CAAA;IAAE,gCAAqB,CAAA;IAAE,4CAAiC,CAAA;IAAE,wCAA6B,CAAA;IAAE,4CAAiC,CAAA;IAAE,wCAA6B,CAAA;IAAE,wCAA6B,CAAA;IAAE,wCAA6B,CAAA;IAAE,gCAAqB,CAAA;IAAE,4BAAiB,CAAA;IAAE,4CAAiC,CAAA;IAAE,0CAA+B,CAAA;IAAE,oCAAyB,CAAA;IAAE,sDAA2C,CAAA;AAC/zE,CAAC,EAFW,OAAO,KAAP,OAAO,QAElB"}
|
|
@@ -12,7 +12,7 @@ export const BaseTile = JSX<BaseTileProps>(
|
|
|
12
12
|
<div className="flex grow w-full justify-between">
|
|
13
13
|
<div className="flex flex-col justify-between w-full">
|
|
14
14
|
<div>{children}</div>
|
|
15
|
-
{buttons
|
|
15
|
+
{buttons ? <div>{buttons}</div> : null}
|
|
16
16
|
</div>
|
|
17
17
|
{image}
|
|
18
18
|
</div>
|
|
@@ -20,7 +20,13 @@ export type ProductBlockInnerContent = HeadingContent &
|
|
|
20
20
|
*/
|
|
21
21
|
benefits?: Benefit[];
|
|
22
22
|
version?: BlockVersion;
|
|
23
|
-
|
|
23
|
+
/**
|
|
24
|
+
* @title Стиль для текстовой части
|
|
25
|
+
* @hidden
|
|
26
|
+
*/
|
|
27
|
+
textBlockClassName?: string;
|
|
28
|
+
/** @title Фоновый текст под иллюстрацией */
|
|
29
|
+
backgroundText?: string;
|
|
24
30
|
};
|
|
25
31
|
|
|
26
32
|
/**
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slides": [
|
|
3
|
+
{
|
|
4
|
+
"nav": {
|
|
5
|
+
"title": "Заголовок",
|
|
6
|
+
"description": "Описание"
|
|
7
|
+
},
|
|
8
|
+
"productBlock": {
|
|
9
|
+
"title": "Продуктовая галерея",
|
|
10
|
+
"image": {
|
|
11
|
+
"format": "webp",
|
|
12
|
+
"size": {
|
|
13
|
+
"width": 280
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"version": "primary",
|
|
17
|
+
"description": "Описание",
|
|
18
|
+
"items": ["Элемент списка 1", "Элемент списка 2", "Элемент списка 3"]
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
]
|
|
22
|
+
}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
+
import type { UniBlockProps } from '../../types';
|
|
3
|
+
import { Icon } from '../../ui-kit/Icon/Icon';
|
|
4
|
+
import type { ProductBlockInnerContent } from '../ProductBlock/ProductBlockContent';
|
|
5
|
+
import { ProductBlockInner } from '../ProductBlock/ProductBlockInner';
|
|
6
|
+
import type { ProductGalleryGreenContent } from './ProductGalleryGreenContent';
|
|
7
|
+
|
|
8
|
+
export interface ProductGalleryProps extends ProductGalleryGreenContent, UniBlockProps {}
|
|
9
|
+
|
|
10
|
+
export const ProductGalleryGreen = JSX<ProductGalleryProps>(
|
|
11
|
+
({ className = '', context, slides = [] }) => {
|
|
12
|
+
const galleryNav = slides.map((s) => s.nav);
|
|
13
|
+
const galleryBlocks = slides.map((s) => s.productBlock);
|
|
14
|
+
const [activeSlideIndex, setActiveSlideIndex] = context.useState(0);
|
|
15
|
+
|
|
16
|
+
return (
|
|
17
|
+
<section
|
|
18
|
+
className={`box-border pt-[70px] relative font-sans overflow-hidden bg-primary-main w-100 ${className}`}
|
|
19
|
+
>
|
|
20
|
+
<div
|
|
21
|
+
className="flex duration-1000 pb-14"
|
|
22
|
+
style={{ transform: `translateX(-${activeSlideIndex}00%)` }}
|
|
23
|
+
role="list"
|
|
24
|
+
>
|
|
25
|
+
{galleryBlocks.map((_, i) => renderProductBlock(_, i, context))}
|
|
26
|
+
</div>
|
|
27
|
+
|
|
28
|
+
<div className="flex items-center absolute bottom-6 left-0 right-0 px-9 box-border">
|
|
29
|
+
{galleryNav.map((slide, i) =>
|
|
30
|
+
renderNavButton({
|
|
31
|
+
slide,
|
|
32
|
+
i,
|
|
33
|
+
activeSlideIndex,
|
|
34
|
+
onClick: () => setActiveSlideIndex(i),
|
|
35
|
+
}),
|
|
36
|
+
)}
|
|
37
|
+
</div>
|
|
38
|
+
</section>
|
|
39
|
+
);
|
|
40
|
+
},
|
|
41
|
+
);
|
|
42
|
+
|
|
43
|
+
function renderProductBlock(block: ProductBlockInnerContent, i: number, context) {
|
|
44
|
+
return (
|
|
45
|
+
<section
|
|
46
|
+
key={String(i)}
|
|
47
|
+
className="box-border relative flex grow-0 shrink-0 basis-full px-9"
|
|
48
|
+
role="listitem"
|
|
49
|
+
>
|
|
50
|
+
<div className="flex grow">
|
|
51
|
+
{block.backgroundText ? (
|
|
52
|
+
<div className="absolute text-[454px] font-bold text-white tracking-[-10px] leading-[299px] opacity-[.1] right-12 top-20 z-0">
|
|
53
|
+
{block.backgroundText}
|
|
54
|
+
</div>
|
|
55
|
+
) : null}
|
|
56
|
+
<ProductBlockInner
|
|
57
|
+
className="pl-2.5 pt-2.5 pb-1.5 pr-[6.25rem] z-[1]"
|
|
58
|
+
context={context}
|
|
59
|
+
textBlockClassName="mb-[154px]"
|
|
60
|
+
version="secondary"
|
|
61
|
+
{...block}
|
|
62
|
+
/>
|
|
63
|
+
<Icon
|
|
64
|
+
className="absolute right-[460px] top-[200px] z-0 mb-4"
|
|
65
|
+
name="ArrowsRewindRight"
|
|
66
|
+
width="230"
|
|
67
|
+
height="187"
|
|
68
|
+
/>
|
|
69
|
+
</div>
|
|
70
|
+
</section>
|
|
71
|
+
);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
function renderNavButton({ slide, i, activeSlideIndex, onClick }) {
|
|
75
|
+
const isActiveBtn = i === activeSlideIndex;
|
|
76
|
+
const btnClassName = isActiveBtn
|
|
77
|
+
? 'bg-white shadow-dark-blue/42 h-[102px] w-[354px] min-w-[354px] max-w-[354px] p-0'
|
|
78
|
+
: 'bg-white/10 min-w-[277px] px-0 pt-4 pb-[23px] hover:py-[26px] hover:py-[26px] ease-in duration-300';
|
|
79
|
+
const btnTitleClassName = isActiveBtn ? 'text-primary-text' : 'text-white';
|
|
80
|
+
const btnDescClassName = isActiveBtn ? 'text-secondary-text' : 'text-white';
|
|
81
|
+
|
|
82
|
+
return (
|
|
83
|
+
<button
|
|
84
|
+
type="button"
|
|
85
|
+
key={String(i)}
|
|
86
|
+
onClick={onClick}
|
|
87
|
+
aria-label={slide?.title}
|
|
88
|
+
className={`box-border font-sans group relative overflow-hidden border-white/50 border-[1px] cursor-pointer text-left mb-6a mx-1 grow basis-0 backdrop-blur-sm
|
|
89
|
+
${btnClassName}
|
|
90
|
+
`}
|
|
91
|
+
>
|
|
92
|
+
<div className="border-0 px-6">
|
|
93
|
+
<div className={`text-sm font-medium pb-[3px] ${btnTitleClassName}`}>{slide?.title}</div>
|
|
94
|
+
<div className={`text-xs text-secondary-text ${btnDescClassName}`}>{slide.description}</div>
|
|
95
|
+
</div>
|
|
96
|
+
</button>
|
|
97
|
+
);
|
|
98
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { ProductBlockInnerContent } from '../ProductBlock/ProductBlockContent';
|
|
2
|
+
|
|
3
|
+
/** @title Кнопка под слайдом */
|
|
4
|
+
interface ProductGalleryNav {
|
|
5
|
+
/** @title Заголовок */
|
|
6
|
+
title: string;
|
|
7
|
+
/** @title Описание */
|
|
8
|
+
description: string;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* @title Слайд
|
|
13
|
+
*/
|
|
14
|
+
export interface ProductSlide {
|
|
15
|
+
/** @title Превью содержимого слайда на навигации */
|
|
16
|
+
nav?: ProductGalleryNav;
|
|
17
|
+
/** @title Содержимое слайда */
|
|
18
|
+
productBlock: ProductBlockInnerContent;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* @title Продуктовая галерея
|
|
23
|
+
*/
|
|
24
|
+
export interface ProductGalleryGreenContent {
|
|
25
|
+
/**
|
|
26
|
+
* @title Задержка
|
|
27
|
+
* @hidden //! temporary not used
|
|
28
|
+
*/
|
|
29
|
+
duration?: number;
|
|
30
|
+
/** @title Слайды */
|
|
31
|
+
slides?: ProductSlide[];
|
|
32
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<svg viewBox="0 0 230 187" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<g filter="url(#filter0_d_7050_138706)">
|
|
3
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M92.24 52.16L14 104.32V0L92.24 52.16ZM216.119 52.16L137.879 104.32V0L216.119 52.16Z" fill="white"/>
|
|
4
|
+
</g>
|
|
5
|
+
<defs>
|
|
6
|
+
<filter id="filter0_d_7050_138706" x="0.959999" y="0" width="228.199" height="186.907" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
|
7
|
+
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
|
8
|
+
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
|
9
|
+
<feOffset dy="69.5467"/>
|
|
10
|
+
<feGaussianBlur stdDeviation="6.52"/>
|
|
11
|
+
<feColorMatrix type="matrix" values="0 0 0 0 0.0196078 0 0 0 0 0.0117647 0 0 0 0 0.0156863 0 0 0 0.1 0"/>
|
|
12
|
+
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_7050_138706"/>
|
|
13
|
+
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_7050_138706" result="shape"/>
|
|
14
|
+
</filter>
|
|
15
|
+
</defs>
|
|
16
|
+
</svg>
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Generated. Do not touch
|
|
3
3
|
|
|
4
4
|
export enum IconMap {
|
|
5
|
-
ActualBalanceIcon = "ActualBalanceIcon", AppleIcon = "AppleIcon", AtmIcon = "AtmIcon", BankIcon = "BankIcon", BurgerIcon = "BurgerIcon", BurgerIconWhite = "BurgerIconWhite", Calendar2Icon = "Calendar2Icon", CalendarCircleIcon = "CalendarCircleIcon", CalendarIcon = "CalendarIcon", CalendarTickIcon = "CalendarTickIcon", CalendarWhiteIcon = "CalendarWhiteIcon", CardIcon = "CardIcon", CardPosIcon = "CardPosIcon", CardTickIcon = "CardTickIcon", CardWithGemIcon = "CardWithGemIcon", ChartSquareIcon = "ChartSquareIcon", ClockIcon = "ClockIcon", CloseIcon = "CloseIcon", ComfortableCompIcon = "ComfortableCompIcon", CreditCardsIcon = "CreditCardsIcon", DiscountShapeIcon = "DiscountShapeIcon", DocIcon = "DocIcon", DocIconMonoColor = "DocIconMonoColor", DocumentTextIcon = "DocumentTextIcon", DollarIcon = "DollarIcon", EarthIcon = "EarthIcon", EmptyWalletChangeIcon = "EmptyWalletChangeIcon", EmptyWalletIcon = "EmptyWalletIcon", EmptyWalletWhiteIcon = "EmptyWalletWhiteIcon", EuroIcon = "EuroIcon", GeolocationIcon = "GeolocationIcon", GlassIcon = "GlassIcon", GlobalIcon = "GlobalIcon", GpsIcon = "GpsIcon", GridIcon = "GridIcon", GridIconWhite = "GridIconWhite", InterestGrowthIcon = "InterestGrowthIcon", InterestIcon = "InterestIcon", JCBIcon = "JCBIcon", LoupeIcon = "LoupeIcon", MasterCardIcon = "MasterCardIcon", MinusIcon = "MinusIcon", MirIcon = "MirIcon", MoneyIcon = "MoneyIcon", MoneyInsuranceIcon = "MoneyInsuranceIcon", MonitorMobileIcon = "MonitorMobileIcon", NewDocIcon = "NewDocIcon", OfficeIcon = "OfficeIcon", OkIcon = "OkIcon", PassSendIcon = "PassSendIcon", PercentageRoundIcon = "PercentageRoundIcon", PercentageSquareIcon = "PercentageSquareIcon", PercentageSquareWhiteIcon = "PercentageSquareWhiteIcon", PersonalCardIcon = "PersonalCardIcon", PlayMarketIcon = "PlayMarketIcon", PlusIcon = "PlusIcon", Profile2UserIcon = "Profile2UserIcon", ProfileIcon = "ProfileIcon", RoundRubleIcon = "RoundRubleIcon", SafeIcon = "SafeIcon", ShieldTickIcon = "ShieldTickIcon", SignDocsIcon = "SignDocsIcon", SmallClockIcon = "SmallClockIcon", TelegramIcon = "TelegramIcon", UnionPayIcon = "UnionPayIcon", UserTickIcon = "UserTickIcon", VisaIcon = "VisaIcon", VKIcon = "VKIcon", WalletAdd2Icon = "WalletAdd2Icon", WalletAddIcon = "WalletAddIcon", WalletIcon = "WalletIcon", WalletWithMoneyIcon = "WalletWithMoneyIcon"
|
|
5
|
+
ActualBalanceIcon = "ActualBalanceIcon", AppleIcon = "AppleIcon", ArrowsRewindRight = "ArrowsRewindRight", AtmIcon = "AtmIcon", BankIcon = "BankIcon", BurgerIcon = "BurgerIcon", BurgerIconWhite = "BurgerIconWhite", Calendar2Icon = "Calendar2Icon", CalendarCircleIcon = "CalendarCircleIcon", CalendarIcon = "CalendarIcon", CalendarTickIcon = "CalendarTickIcon", CalendarWhiteIcon = "CalendarWhiteIcon", CardIcon = "CardIcon", CardPosIcon = "CardPosIcon", CardTickIcon = "CardTickIcon", CardWithGemIcon = "CardWithGemIcon", ChartSquareIcon = "ChartSquareIcon", ClockIcon = "ClockIcon", CloseIcon = "CloseIcon", ComfortableCompIcon = "ComfortableCompIcon", CreditCardsIcon = "CreditCardsIcon", DiscountShapeIcon = "DiscountShapeIcon", DocIcon = "DocIcon", DocIconMonoColor = "DocIconMonoColor", DocumentTextIcon = "DocumentTextIcon", DollarIcon = "DollarIcon", EarthIcon = "EarthIcon", EmptyWalletChangeIcon = "EmptyWalletChangeIcon", EmptyWalletIcon = "EmptyWalletIcon", EmptyWalletWhiteIcon = "EmptyWalletWhiteIcon", EuroIcon = "EuroIcon", GeolocationIcon = "GeolocationIcon", GlassIcon = "GlassIcon", GlobalIcon = "GlobalIcon", GpsIcon = "GpsIcon", GridIcon = "GridIcon", GridIconWhite = "GridIconWhite", InterestGrowthIcon = "InterestGrowthIcon", InterestIcon = "InterestIcon", JCBIcon = "JCBIcon", LoupeIcon = "LoupeIcon", MasterCardIcon = "MasterCardIcon", MinusIcon = "MinusIcon", MirIcon = "MirIcon", MoneyIcon = "MoneyIcon", MoneyInsuranceIcon = "MoneyInsuranceIcon", MonitorMobileIcon = "MonitorMobileIcon", NewDocIcon = "NewDocIcon", OfficeIcon = "OfficeIcon", OkIcon = "OkIcon", PassSendIcon = "PassSendIcon", PercentageRoundIcon = "PercentageRoundIcon", PercentageSquareIcon = "PercentageSquareIcon", PercentageSquareWhiteIcon = "PercentageSquareWhiteIcon", PersonalCardIcon = "PersonalCardIcon", PlayMarketIcon = "PlayMarketIcon", PlusIcon = "PlusIcon", Profile2UserIcon = "Profile2UserIcon", ProfileIcon = "ProfileIcon", RoundRubleIcon = "RoundRubleIcon", SafeIcon = "SafeIcon", ShieldTickIcon = "ShieldTickIcon", SignDocsIcon = "SignDocsIcon", SmallClockIcon = "SmallClockIcon", TelegramIcon = "TelegramIcon", UnionPayIcon = "UnionPayIcon", UserTickIcon = "UserTickIcon", VisaIcon = "VisaIcon", VKIcon = "VKIcon", WalletAdd2Icon = "WalletAdd2Icon", WalletAddIcon = "WalletAddIcon", WalletIcon = "WalletIcon", WalletWithMoneyIcon = "WalletWithMoneyIcon"
|
|
6
6
|
}
|
|
7
7
|
|
|
8
8
|
/**
|
|
@@ -10,7 +10,7 @@ export enum IconMap {
|
|
|
10
10
|
* @title Иконка
|
|
11
11
|
* @enumNames [
|
|
12
12
|
* "",
|
|
13
|
-
* "Деньги", "Лого «Apple»", "Банкомат", "Банк", "Бургер", "Бургер (белый)", "Календарь 2", "Скруглённый календарь", "Календарь", "Календарь с галочкой", "Календарь белый", "Кред. карта", "Кред. карта под наклоном", "Кред. карта с галочкой", "Карта с драгоценностями", "Деньги внутри кошелька", "Часы", "Крестик", "Кресло", "Кредитные карты", "Скидка", "Документ", "Документ (одноцветный)", "Документ с текстом", "Доллар", "Земля", "Пустой кошелёк с возвратом", "Пустой кошелёк", "Пустой кошелёк (белый)", "Евро", "Геолокация", "Зеркало", "Глобус", "Gps", "Сетка", "Сетка (белая)", "Диаграмма роста", "Скидка", "JCB", "Лупа", "MasterCard", "Минус", "МИР", "Деньги", "Денежное страхование", "Монитор и мобильный", "Новый документ", "Офис", "Лого «Одноклассники»", "Бизнес", "Проценты (круг.)", "Проценты", "Проценты белые", "Персональная карта", "Лого «PlayMarket»", "Плюс", "Профиль, 2 персоны", "Профиль", "Рубль (круг.)", "Сейф", "Безопасность", "Подписанные документы", "Маленькие часы", "Лого «Telegram»", "UnionPay", "Пользователь", "Visa", "Лого «VK»", "Пополнение карты", "Кошелёк с плюсом", "Кошелёк", "Кошелёк с деньгами"
|
|
13
|
+
* "Деньги", "Лого «Apple»", "ArrowsRewindRight", "Банкомат", "Банк", "Бургер", "Бургер (белый)", "Календарь 2", "Скруглённый календарь", "Календарь", "Календарь с галочкой", "Календарь белый", "Кред. карта", "Кред. карта под наклоном", "Кред. карта с галочкой", "Карта с драгоценностями", "Деньги внутри кошелька", "Часы", "Крестик", "Кресло", "Кредитные карты", "Скидка", "Документ", "Документ (одноцветный)", "Документ с текстом", "Доллар", "Земля", "Пустой кошелёк с возвратом", "Пустой кошелёк", "Пустой кошелёк (белый)", "Евро", "Геолокация", "Зеркало", "Глобус", "Gps", "Сетка", "Сетка (белая)", "Диаграмма роста", "Скидка", "JCB", "Лупа", "MasterCard", "Минус", "МИР", "Деньги", "Денежное страхование", "Монитор и мобильный", "Новый документ", "Офис", "Лого «Одноклассники»", "Бизнес", "Проценты (круг.)", "Проценты", "Проценты белые", "Персональная карта", "Лого «PlayMarket»", "Плюс", "Профиль, 2 персоны", "Профиль", "Рубль (круг.)", "Сейф", "Безопасность", "Подписанные документы", "Маленькие часы", "Лого «Telegram»", "UnionPay", "Пользователь", "Visa", "Лого «VK»", "Пополнение карты", "Кошелёк с плюсом", "Кошелёк", "Кошелёк с деньгами"
|
|
14
14
|
* ]
|
|
15
15
|
*/
|
|
16
|
-
export type IconName = "" | "ActualBalanceIcon" | "AppleIcon" | "AtmIcon" | "BankIcon" | "BurgerIcon" | "BurgerIconWhite" | "Calendar2Icon" | "CalendarCircleIcon" | "CalendarIcon" | "CalendarTickIcon" | "CalendarWhiteIcon" | "CardIcon" | "CardPosIcon" | "CardTickIcon" | "CardWithGemIcon" | "ChartSquareIcon" | "ClockIcon" | "CloseIcon" | "ComfortableCompIcon" | "CreditCardsIcon" | "DiscountShapeIcon" | "DocIcon" | "DocIconMonoColor" | "DocumentTextIcon" | "DollarIcon" | "EarthIcon" | "EmptyWalletChangeIcon" | "EmptyWalletIcon" | "EmptyWalletWhiteIcon" | "EuroIcon" | "GeolocationIcon" | "GlassIcon" | "GlobalIcon" | "GpsIcon" | "GridIcon" | "GridIconWhite" | "InterestGrowthIcon" | "InterestIcon" | "JCBIcon" | "LoupeIcon" | "MasterCardIcon" | "MinusIcon" | "MirIcon" | "MoneyIcon" | "MoneyInsuranceIcon" | "MonitorMobileIcon" | "NewDocIcon" | "OfficeIcon" | "OkIcon" | "PassSendIcon" | "PercentageRoundIcon" | "PercentageSquareIcon" | "PercentageSquareWhiteIcon" | "PersonalCardIcon" | "PlayMarketIcon" | "PlusIcon" | "Profile2UserIcon" | "ProfileIcon" | "RoundRubleIcon" | "SafeIcon" | "ShieldTickIcon" | "SignDocsIcon" | "SmallClockIcon" | "TelegramIcon" | "UnionPayIcon" | "UserTickIcon" | "VisaIcon" | "VKIcon" | "WalletAdd2Icon" | "WalletAddIcon" | "WalletIcon" | "WalletWithMoneyIcon";
|
|
16
|
+
export type IconName = "" | "ActualBalanceIcon" | "AppleIcon" | "ArrowsRewindRight" | "AtmIcon" | "BankIcon" | "BurgerIcon" | "BurgerIconWhite" | "Calendar2Icon" | "CalendarCircleIcon" | "CalendarIcon" | "CalendarTickIcon" | "CalendarWhiteIcon" | "CardIcon" | "CardPosIcon" | "CardTickIcon" | "CardWithGemIcon" | "ChartSquareIcon" | "ClockIcon" | "CloseIcon" | "ComfortableCompIcon" | "CreditCardsIcon" | "DiscountShapeIcon" | "DocIcon" | "DocIconMonoColor" | "DocumentTextIcon" | "DollarIcon" | "EarthIcon" | "EmptyWalletChangeIcon" | "EmptyWalletIcon" | "EmptyWalletWhiteIcon" | "EuroIcon" | "GeolocationIcon" | "GlassIcon" | "GlobalIcon" | "GpsIcon" | "GridIcon" | "GridIconWhite" | "InterestGrowthIcon" | "InterestIcon" | "JCBIcon" | "LoupeIcon" | "MasterCardIcon" | "MinusIcon" | "MirIcon" | "MoneyIcon" | "MoneyInsuranceIcon" | "MonitorMobileIcon" | "NewDocIcon" | "OfficeIcon" | "OkIcon" | "PassSendIcon" | "PercentageRoundIcon" | "PercentageSquareIcon" | "PercentageSquareWhiteIcon" | "PersonalCardIcon" | "PlayMarketIcon" | "PlusIcon" | "Profile2UserIcon" | "ProfileIcon" | "RoundRubleIcon" | "SafeIcon" | "ShieldTickIcon" | "SignDocsIcon" | "SmallClockIcon" | "TelegramIcon" | "UnionPayIcon" | "UserTickIcon" | "VisaIcon" | "VKIcon" | "WalletAdd2Icon" | "WalletAddIcon" | "WalletIcon" | "WalletWithMoneyIcon";
|
package/package.json
CHANGED
|
@@ -12,7 +12,7 @@ export const BaseTile = JSX<BaseTileProps>(
|
|
|
12
12
|
<div className="flex grow w-full justify-between">
|
|
13
13
|
<div className="flex flex-col justify-between w-full">
|
|
14
14
|
<div>{children}</div>
|
|
15
|
-
{buttons
|
|
15
|
+
{buttons ? <div>{buttons}</div> : null}
|
|
16
16
|
</div>
|
|
17
17
|
{image}
|
|
18
18
|
</div>
|
package/src/components/Blocks.ts
CHANGED
|
@@ -15,6 +15,7 @@ import { PictureText } from './PictureText/PictureText';
|
|
|
15
15
|
import { Placeholder } from './Placeholder/Placeholder';
|
|
16
16
|
import { ProductBlock } from './ProductBlock/ProductBlock';
|
|
17
17
|
import { ProductGallery } from './ProductGallery/ProductGallery';
|
|
18
|
+
import { ProductGalleryGreen } from './ProductGalleryGreen/ProductGalleryGreen';
|
|
18
19
|
import { ProductTile } from './ProductTile/ProductTile';
|
|
19
20
|
import { PromoTile } from './PromoTile/PromoTile';
|
|
20
21
|
import { Recommendation } from './Recommendation/Recommendation';
|
|
@@ -39,6 +40,7 @@ export const Blocks = {
|
|
|
39
40
|
PictureText,
|
|
40
41
|
ProductBlock,
|
|
41
42
|
ProductGallery,
|
|
43
|
+
ProductGalleryGreen,
|
|
42
44
|
ProductTile,
|
|
43
45
|
PromoTile,
|
|
44
46
|
Recommendation,
|
|
@@ -20,7 +20,13 @@ export type ProductBlockInnerContent = HeadingContent &
|
|
|
20
20
|
*/
|
|
21
21
|
benefits?: Benefit[];
|
|
22
22
|
version?: BlockVersion;
|
|
23
|
-
|
|
23
|
+
/**
|
|
24
|
+
* @title Стиль для текстовой части
|
|
25
|
+
* @hidden
|
|
26
|
+
*/
|
|
27
|
+
textBlockClassName?: string;
|
|
28
|
+
/** @title Фоновый текст под иллюстрацией */
|
|
29
|
+
backgroundText?: string;
|
|
24
30
|
};
|
|
25
31
|
|
|
26
32
|
/**
|
|
@@ -23,26 +23,16 @@ export const ProductBlockInner = JSX<ProductBlockInnerProps>(
|
|
|
23
23
|
image,
|
|
24
24
|
items,
|
|
25
25
|
version = 'primary',
|
|
26
|
+
textBlockClassName = '',
|
|
26
27
|
}) => {
|
|
28
|
+
const textColor = version === 'secondary' ? 'text-white' : '';
|
|
27
29
|
return (
|
|
28
30
|
<div className={`flex grow justify-between items-stretch ${className}`}>
|
|
29
|
-
<div className={
|
|
31
|
+
<div className={`flex flex-col ${textBlockClassName}`}>
|
|
30
32
|
<BaseTile
|
|
31
33
|
context={context}
|
|
32
|
-
title={
|
|
33
|
-
|
|
34
|
-
<Heading
|
|
35
|
-
headingType={headingType}
|
|
36
|
-
title={title}
|
|
37
|
-
className="whitespace-pre-wrap max-w-[600px]"
|
|
38
|
-
/>
|
|
39
|
-
)
|
|
40
|
-
}
|
|
41
|
-
buttons={
|
|
42
|
-
buttons?.length ? (
|
|
43
|
-
<ButtonSection context={context} buttons={buttons} className="flex mt-9 gap-3" />
|
|
44
|
-
) : null
|
|
45
|
-
}
|
|
34
|
+
title={getTitle(title, headingType, textColor)}
|
|
35
|
+
buttons={getButtons(context, buttons)}
|
|
46
36
|
>
|
|
47
37
|
{description && (
|
|
48
38
|
<Description className="mt-4 max-w-[600px]" description={description} />
|
|
@@ -62,3 +52,21 @@ export const ProductBlockInner = JSX<ProductBlockInnerProps>(
|
|
|
62
52
|
);
|
|
63
53
|
},
|
|
64
54
|
);
|
|
55
|
+
|
|
56
|
+
const getTitle = (title, headingType, textColor) => {
|
|
57
|
+
return (
|
|
58
|
+
title && (
|
|
59
|
+
<Heading
|
|
60
|
+
headingType={headingType}
|
|
61
|
+
title={title}
|
|
62
|
+
className={`whitespace-pre-wrap max-w-[600px] ${textColor}`}
|
|
63
|
+
/>
|
|
64
|
+
)
|
|
65
|
+
);
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
const getButtons = (context, buttons) => {
|
|
69
|
+
return buttons?.length ? (
|
|
70
|
+
<ButtonSection context={context} buttons={buttons} className="flex mt-9 gap-3" />
|
|
71
|
+
) : null;
|
|
72
|
+
};
|
|
@@ -93,7 +93,7 @@ export default {
|
|
|
93
93
|
{
|
|
94
94
|
nav: {
|
|
95
95
|
title: 'Выгодно покупать',
|
|
96
|
-
|
|
96
|
+
description: 'Дополнительные бонусные баллы за покупки',
|
|
97
97
|
},
|
|
98
98
|
productBlock: {
|
|
99
99
|
title: 'Дополнительные бонусные баллы за покупки!',
|
|
@@ -187,7 +187,7 @@ export default {
|
|
|
187
187
|
{
|
|
188
188
|
nav: {
|
|
189
189
|
title: 'Выгодно покупать',
|
|
190
|
-
|
|
190
|
+
description: 'Дополнительные бонусные баллы за покупки',
|
|
191
191
|
},
|
|
192
192
|
productBlock: {
|
|
193
193
|
title: 'Дополнительные бонусные баллы за покупки!',
|
|
@@ -41,7 +41,7 @@ export default {
|
|
|
41
41
|
{
|
|
42
42
|
nav: {
|
|
43
43
|
title: 'Деньги на любые цели',
|
|
44
|
-
|
|
44
|
+
description: 'Ставка от 12,5% годовых на срок до 5 лет',
|
|
45
45
|
},
|
|
46
46
|
productBlock: {
|
|
47
47
|
title: 'Ставка от 12,5% годовых на срок до 5 лет!',
|
|
@@ -65,7 +65,7 @@ export default {
|
|
|
65
65
|
{
|
|
66
66
|
nav: {
|
|
67
67
|
title: 'Для людей в возрасте',
|
|
68
|
-
|
|
68
|
+
description: 'Ставка от 12,5% годовых на срок до 3 лет',
|
|
69
69
|
},
|
|
70
70
|
productBlock: {
|
|
71
71
|
title: 'Ставка от 12,5% годовых на срок до 3 лет!',
|
|
@@ -89,7 +89,7 @@ export default {
|
|
|
89
89
|
{
|
|
90
90
|
nav: {
|
|
91
91
|
title: 'Выгодно покупать',
|
|
92
|
-
|
|
92
|
+
description: 'Дополнительные бонусные баллы за покупки',
|
|
93
93
|
},
|
|
94
94
|
productBlock: {
|
|
95
95
|
title: 'Дополнительные бонусные баллы за покупки!',
|
|
@@ -113,7 +113,7 @@ export default {
|
|
|
113
113
|
{
|
|
114
114
|
nav: {
|
|
115
115
|
title: 'Карты Unionpay',
|
|
116
|
-
|
|
116
|
+
description: 'Кэшбэк до 20% у партнеров',
|
|
117
117
|
},
|
|
118
118
|
productBlock: {
|
|
119
119
|
title: 'Карты Unionpay',
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slides": [
|
|
3
|
+
{
|
|
4
|
+
"nav": {
|
|
5
|
+
"title": "Заголовок",
|
|
6
|
+
"description": "Описание"
|
|
7
|
+
},
|
|
8
|
+
"productBlock": {
|
|
9
|
+
"title": "Продуктовая галерея",
|
|
10
|
+
"image": {
|
|
11
|
+
"format": "webp",
|
|
12
|
+
"size": {
|
|
13
|
+
"width": 280
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"version": "primary",
|
|
17
|
+
"description": "Описание",
|
|
18
|
+
"items": ["Элемент списка 1", "Элемент списка 2", "Элемент списка 3"]
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
]
|
|
22
|
+
}
|