@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.
Files changed (97) hide show
  1. package/bundle/blocks.schema.json +1 -1
  2. package/bundle/bundle.umd.js +42 -8
  3. package/bundle/bundle.umd.min.js +1 -1
  4. package/cosmos-static/icons/ArrowsRewindRight.svg +1 -0
  5. package/dist/components/BaseTile/BaseTile.js +1 -1
  6. package/dist/components/BaseTile/BaseTile.js.map +1 -1
  7. package/dist/components/Blocks.d.ts +1 -0
  8. package/dist/components/Blocks.js +2 -0
  9. package/dist/components/Blocks.js.map +1 -1
  10. package/dist/components/ProductBlock/ProductBlockContent.d.ts +7 -1
  11. package/dist/components/ProductBlock/ProductBlockInner.js +9 -2
  12. package/dist/components/ProductBlock/ProductBlockInner.js.map +1 -1
  13. package/dist/components/ProductGallery/ProductGalleryContent.d.ts +1 -1
  14. package/dist/components/ProductGalleryGreen/ProductGalleryGreen.d.ts +5 -0
  15. package/dist/components/ProductGalleryGreen/ProductGalleryGreen.js +32 -0
  16. package/dist/components/ProductGalleryGreen/ProductGalleryGreen.js.map +1 -0
  17. package/dist/components/ProductGalleryGreen/ProductGalleryGreenContent.d.ts +30 -0
  18. package/dist/components/ProductGalleryGreen/ProductGalleryGreenContent.js +2 -0
  19. package/dist/components/ProductGalleryGreen/ProductGalleryGreenContent.js.map +1 -0
  20. package/dist/icons/IconName.d.ts +3 -2
  21. package/dist/icons/IconName.js +1 -0
  22. package/dist/icons/IconName.js.map +1 -1
  23. package/dist/ui-kit/Heading/Heading.js +2 -2
  24. package/dist/ui-kit/Heading/Heading.js.map +1 -1
  25. package/lib/common.css +1 -1
  26. package/lib/components/BaseTile/BaseTile.js +1 -1
  27. package/lib/components/BaseTile/BaseTile.js.map +1 -1
  28. package/lib/components/Blocks.d.ts +1 -0
  29. package/lib/components/Blocks.js +2 -0
  30. package/lib/components/Blocks.js.map +1 -1
  31. package/lib/components/ProductBlock/ProductBlockContent.d.ts +7 -1
  32. package/lib/components/ProductBlock/ProductBlockInner.js +9 -2
  33. package/lib/components/ProductBlock/ProductBlockInner.js.map +1 -1
  34. package/lib/components/ProductGallery/ProductGalleryContent.d.ts +1 -1
  35. package/lib/components/ProductGalleryGreen/ProductGalleryGreen.d.ts +5 -0
  36. package/lib/components/ProductGalleryGreen/ProductGalleryGreen.fixture.d.ts +4 -0
  37. package/lib/components/ProductGalleryGreen/ProductGalleryGreen.js +30 -0
  38. package/lib/components/ProductGalleryGreen/ProductGalleryGreen.js.map +1 -0
  39. package/lib/components/ProductGalleryGreen/ProductGalleryGreenContent.d.ts +30 -0
  40. package/lib/components/ProductGalleryGreen/ProductGalleryGreenContent.js +2 -0
  41. package/lib/components/ProductGalleryGreen/ProductGalleryGreenContent.js.map +1 -0
  42. package/lib/icons/IconName.d.ts +3 -2
  43. package/lib/icons/IconName.js +1 -0
  44. package/lib/icons/IconName.js.map +1 -1
  45. package/lib/ui-kit/Heading/Heading.js +2 -2
  46. package/lib/ui-kit/Heading/Heading.js.map +1 -1
  47. package/mobile/bundle/bundle.umd.js +1 -1
  48. package/mobile/bundle/bundle.umd.min.js +1 -1
  49. package/mobile/dist/components/BaseTile/BaseTile.js +1 -1
  50. package/mobile/dist/components/BaseTile/BaseTile.js.map +1 -1
  51. package/mobile/dist/components/ProductBlock/ProductBlockContent.d.ts +7 -1
  52. package/mobile/dist/components/ProductGallery/ProductGalleryContent.d.ts +1 -1
  53. package/mobile/dist/components/ProductGalleryGreen/ProductGalleryGreen.d.ts +5 -0
  54. package/mobile/dist/components/ProductGalleryGreen/ProductGalleryGreen.js +32 -0
  55. package/mobile/dist/components/ProductGalleryGreen/ProductGalleryGreen.js.map +1 -0
  56. package/mobile/dist/components/ProductGalleryGreen/ProductGalleryGreenContent.d.ts +30 -0
  57. package/mobile/dist/components/ProductGalleryGreen/ProductGalleryGreenContent.js +2 -0
  58. package/mobile/dist/components/ProductGalleryGreen/ProductGalleryGreenContent.js.map +1 -0
  59. package/mobile/dist/icons/IconName.d.ts +3 -2
  60. package/mobile/dist/icons/IconName.js +1 -0
  61. package/mobile/dist/icons/IconName.js.map +1 -1
  62. package/mobile/lib/components/BaseTile/BaseTile.js +1 -1
  63. package/mobile/lib/components/BaseTile/BaseTile.js.map +1 -1
  64. package/mobile/lib/components/ProductBlock/ProductBlockContent.d.ts +7 -1
  65. package/mobile/lib/components/ProductGallery/ProductGalleryContent.d.ts +1 -1
  66. package/mobile/lib/components/ProductGalleryGreen/ProductGalleryGreen.d.ts +5 -0
  67. package/mobile/lib/components/ProductGalleryGreen/ProductGalleryGreen.js +30 -0
  68. package/mobile/lib/components/ProductGalleryGreen/ProductGalleryGreen.js.map +1 -0
  69. package/mobile/lib/components/ProductGalleryGreen/ProductGalleryGreenContent.d.ts +30 -0
  70. package/mobile/lib/components/ProductGalleryGreen/ProductGalleryGreenContent.js +2 -0
  71. package/mobile/lib/components/ProductGalleryGreen/ProductGalleryGreenContent.js.map +1 -0
  72. package/mobile/lib/icons/IconName.d.ts +3 -2
  73. package/mobile/lib/icons/IconName.js +1 -0
  74. package/mobile/lib/icons/IconName.js.map +1 -1
  75. package/mobile/src/components/BaseTile/BaseTile.tsx +1 -1
  76. package/mobile/src/components/ProductBlock/ProductBlockContent.ts +7 -1
  77. package/mobile/src/components/ProductGallery/ProductGalleryContent.ts +1 -1
  78. package/mobile/src/components/ProductGalleryGreen/ProductGalleryGreen.example.json +22 -0
  79. package/mobile/src/components/ProductGalleryGreen/ProductGalleryGreen.tsx +98 -0
  80. package/mobile/src/components/ProductGalleryGreen/ProductGalleryGreenContent.ts +32 -0
  81. package/mobile/src/icons/ArrowsRewindRight.svg +16 -0
  82. package/mobile/src/icons/IconName.ts +3 -3
  83. package/package.json +1 -1
  84. package/src/components/BaseTile/BaseTile.tsx +1 -1
  85. package/src/components/Blocks.ts +2 -0
  86. package/src/components/ProductBlock/ProductBlockContent.ts +7 -1
  87. package/src/components/ProductBlock/ProductBlockInner.tsx +23 -15
  88. package/src/components/ProductGallery/ProductGallery.fixture.mobile.tsx +2 -2
  89. package/src/components/ProductGallery/ProductGallery.fixture.tsx +4 -4
  90. package/src/components/ProductGallery/ProductGalleryContent.ts +1 -1
  91. package/src/components/ProductGalleryGreen/ProductGalleryGreen.example.json +22 -0
  92. package/src/components/ProductGalleryGreen/ProductGalleryGreen.fixture.tsx +114 -0
  93. package/src/components/ProductGalleryGreen/ProductGalleryGreen.tsx +98 -0
  94. package/src/components/ProductGalleryGreen/ProductGalleryGreenContent.ts +32 -0
  95. package/src/icons/ArrowsRewindRight.svg +16 -0
  96. package/src/icons/IconName.ts +149 -4
  97. 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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ProductGalleryGreenContent.js.map
@@ -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;AACtxE,CAAC,EAFW,OAAO,KAAP,OAAO,QAElB"}
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?.length ? <div>{buttons}</div> : null}
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
- buttons?: ButtonContent[];
23
+ /**
24
+ * @title Стиль для текстовой части
25
+ * @hidden
26
+ */
27
+ textBlockClassName?: string;
28
+ /** @title Фоновый текст под иллюстрацией */
29
+ backgroundText?: string;
24
30
  };
25
31
 
26
32
  /**
@@ -5,7 +5,7 @@ interface ProductGalleryNav {
5
5
  /** @title Заголовок */
6
6
  title: string;
7
7
  /** @title Описание */
8
- desc: string;
8
+ description: string;
9
9
  }
10
10
 
11
11
  /**
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redneckz/wildless-cms-uni-blocks",
3
- "version": "0.3.18",
3
+ "version": "0.3.19",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "author": "ЦК",
@@ -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?.length ? <div>{buttons}</div> : null}
15
+ {buttons ? <div>{buttons}</div> : null}
16
16
  </div>
17
17
  {image}
18
18
  </div>
@@ -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
- buttons?: ButtonContent[];
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={'flex flex-col'}>
31
+ <div className={`flex flex-col ${textBlockClassName}`}>
30
32
  <BaseTile
31
33
  context={context}
32
- title={
33
- title && (
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
- desc: 'Дополнительные бонусные баллы за покупки',
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
- desc: 'Дополнительные бонусные баллы за покупки',
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
- desc: 'Ставка от 12,5% годовых на срок до 5 лет',
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
- desc: 'Ставка от 12,5% годовых на срок до 3 лет',
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
- desc: 'Дополнительные бонусные баллы за покупки',
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
- desc: 'Кэшбэк до 20% у партнеров',
116
+ description: 'Кэшбэк до 20% у партнеров',
117
117
  },
118
118
  productBlock: {
119
119
  title: 'Карты Unionpay',
@@ -5,7 +5,7 @@ interface ProductGalleryNav {
5
5
  /** @title Заголовок */
6
6
  title: string;
7
7
  /** @title Описание */
8
- desc: string;
8
+ description: string;
9
9
  }
10
10
 
11
11
  /**
@@ -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
+ }