@redneckz/wildless-cms-uni-blocks 0.2.61 → 0.2.64

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 (274) hide show
  1. package/dist/BenefitsBlock.d.ts +7 -1
  2. package/dist/BenefitsBlock.js +2 -3
  3. package/dist/BenefitsBlock.js.map +1 -1
  4. package/dist/Blocks.d.ts +3 -1
  5. package/dist/Blocks.js +2 -0
  6. package/dist/Blocks.js.map +1 -1
  7. package/dist/ExchangeRateTile.js +4 -4
  8. package/dist/ExchangeRateTile.js.map +1 -1
  9. package/dist/Footer/Footer.js +1 -1
  10. package/dist/Footer/Footer.js.map +1 -1
  11. package/dist/Footer/HorizontalNavigation.js +1 -1
  12. package/dist/Footer/HorizontalNavigation.js.map +1 -1
  13. package/dist/Footer/Sitemap.js +1 -1
  14. package/dist/Footer/SocialMedia.js +7 -7
  15. package/dist/Footer/SocialMedia.js.map +1 -1
  16. package/dist/Footer/TextInformation.js +1 -1
  17. package/dist/Footer/TextInformation.js.map +1 -1
  18. package/dist/Gallery.d.ts +16 -0
  19. package/dist/Gallery.js +37 -0
  20. package/dist/Gallery.js.map +1 -0
  21. package/dist/Header/HeaderSecondaryMenu.js +2 -2
  22. package/dist/Header/HeaderSecondaryMenu.js.map +1 -1
  23. package/dist/ProductBlockInner.d.ts +2 -1
  24. package/dist/ProductBlockInner.js +3 -4
  25. package/dist/ProductBlockInner.js.map +1 -1
  26. package/dist/ProductTile.d.ts +2 -1
  27. package/dist/ProductTile.js.map +1 -1
  28. package/dist/ProjectSettings.d.ts +2 -0
  29. package/dist/ProjectSettings.js +3 -0
  30. package/dist/ProjectSettings.js.map +1 -1
  31. package/dist/StepsBlock.d.ts +2 -7
  32. package/dist/StepsBlock.js +2 -3
  33. package/dist/StepsBlock.js.map +1 -1
  34. package/dist/types.d.ts +0 -5
  35. package/dist/ui-kit/ArrowButton.d.ts +6 -0
  36. package/dist/ui-kit/ArrowButton.js +8 -0
  37. package/dist/ui-kit/ArrowButton.js.map +1 -0
  38. package/dist/ui-kit/Icon.d.ts +11 -0
  39. package/dist/ui-kit/Icon.js +7 -0
  40. package/dist/ui-kit/Icon.js.map +1 -0
  41. package/dist/ui-kit/IconButton.d.ts +2 -1
  42. package/dist/ui-kit/IconButton.js +2 -3
  43. package/dist/ui-kit/IconButton.js.map +1 -1
  44. package/dist/ui-kit/SearchBar.js +4 -4
  45. package/dist/ui-kit/SearchBar.js.map +1 -1
  46. package/lib/BenefitsBlock.d.ts +7 -1
  47. package/lib/BenefitsBlock.js +2 -3
  48. package/lib/BenefitsBlock.js.map +1 -1
  49. package/lib/Blocks.d.ts +3 -1
  50. package/lib/Blocks.js +2 -0
  51. package/lib/Blocks.js.map +1 -1
  52. package/lib/ExchangeRateTile.js +4 -4
  53. package/lib/ExchangeRateTile.js.map +1 -1
  54. package/lib/Footer/Footer.js +1 -1
  55. package/lib/Footer/Footer.js.map +1 -1
  56. package/lib/Footer/HorizontalNavigation.js +1 -1
  57. package/lib/Footer/HorizontalNavigation.js.map +1 -1
  58. package/lib/Footer/Sitemap.js +1 -1
  59. package/lib/Footer/SocialMedia.js +7 -7
  60. package/lib/Footer/SocialMedia.js.map +1 -1
  61. package/lib/Footer/TextInformation.js +1 -1
  62. package/lib/Footer/TextInformation.js.map +1 -1
  63. package/lib/Gallery.d.ts +16 -0
  64. package/lib/Gallery.js +35 -0
  65. package/lib/Gallery.js.map +1 -0
  66. package/lib/Header/HeaderSecondaryMenu.js +2 -2
  67. package/lib/Header/HeaderSecondaryMenu.js.map +1 -1
  68. package/lib/ProductBlockInner.d.ts +2 -1
  69. package/lib/ProductBlockInner.js +3 -4
  70. package/lib/ProductBlockInner.js.map +1 -1
  71. package/lib/ProductTile.d.ts +2 -1
  72. package/lib/ProductTile.js.map +1 -1
  73. package/lib/ProjectSettings.d.ts +2 -0
  74. package/lib/ProjectSettings.js +3 -0
  75. package/lib/ProjectSettings.js.map +1 -1
  76. package/lib/StepsBlock.d.ts +2 -7
  77. package/lib/StepsBlock.js +2 -3
  78. package/lib/StepsBlock.js.map +1 -1
  79. package/lib/common.css +1 -1
  80. package/lib/types.d.ts +0 -5
  81. package/lib/ui-kit/ArrowButton.d.ts +6 -0
  82. package/lib/ui-kit/ArrowButton.js +6 -0
  83. package/lib/ui-kit/ArrowButton.js.map +1 -0
  84. package/lib/ui-kit/Icon.d.ts +11 -0
  85. package/lib/ui-kit/Icon.js +5 -0
  86. package/lib/ui-kit/Icon.js.map +1 -0
  87. package/lib/ui-kit/IconButton.d.ts +2 -1
  88. package/lib/ui-kit/IconButton.js +2 -3
  89. package/lib/ui-kit/IconButton.js.map +1 -1
  90. package/lib/ui-kit/SearchBar.js +4 -4
  91. package/lib/ui-kit/SearchBar.js.map +1 -1
  92. package/package.json +9 -4
  93. package/src/BenefitsBlock.tsx +13 -6
  94. package/src/Blocks.ts +4 -1
  95. package/src/ContentPage.page.json +17 -1
  96. package/src/ExchangeRateTile.tsx +4 -4
  97. package/src/Footer/Footer.tsx +2 -2
  98. package/src/Footer/HorizontalNavigation.tsx +1 -1
  99. package/src/Footer/Sitemap.tsx +1 -1
  100. package/src/Footer/SocialMedia.tsx +9 -9
  101. package/src/Footer/TextInformation.tsx +2 -2
  102. package/src/Gallery.fixture.tsx +213 -0
  103. package/src/Gallery.tsx +132 -0
  104. package/src/Header/HeaderSecondaryMenu.tsx +5 -5
  105. package/src/MobileAppTile.fixture.tsx +16 -0
  106. package/src/ProductBlockInner.tsx +11 -9
  107. package/src/ProductTile.tsx +4 -3
  108. package/src/ProjectSettings.ts +4 -0
  109. package/src/StepsBlock.tsx +3 -4
  110. package/src/icons/ActualBalanceIcon.svg +186 -0
  111. package/src/icons/AppleIcon.svg +13 -0
  112. package/src/icons/CalendarIcon.svg +17 -0
  113. package/src/icons/ClockIcon.svg +208 -0
  114. package/src/icons/ComfortableCompIcon.svg +373 -0
  115. package/src/icons/DollarIcon.svg +10 -0
  116. package/src/icons/EmptyWalletIcon.svg +17 -0
  117. package/src/icons/EuroIcon.svg +10 -0
  118. package/src/icons/GridIcon.svg +7 -0
  119. package/src/icons/LoupeIcon.svg +9 -0
  120. package/src/icons/NewDocIcon.svg +250 -0
  121. package/src/icons/OkIcon.svg +6 -0
  122. package/src/icons/PassSendIcon.svg +237 -0
  123. package/src/icons/PercentageSquareIcon.svg +16 -0
  124. package/src/icons/PlayMarketIcon.svg +6 -0
  125. package/src/icons/ProfileIcon.svg +16 -0
  126. package/src/icons/SignDocsIcon.svg +287 -0
  127. package/src/icons/TelegramIcon.svg +6 -0
  128. package/{dist/Icons/VKIcon.js → src/icons/VKIcon.svg} +8 -6
  129. package/src/setup-fixture.ts +9 -5
  130. package/src/types.ts +0 -6
  131. package/src/ui-kit/ArrowButton.tsx +34 -0
  132. package/src/ui-kit/Button.fixture.tsx +1 -1
  133. package/src/ui-kit/Icon.tsx +46 -0
  134. package/src/ui-kit/IconButton.tsx +5 -5
  135. package/src/ui-kit/SearchBar.tsx +26 -19
  136. package/dist/Icons/ActualBalanceIcon.d.ts +0 -1
  137. package/dist/Icons/ActualBalanceIcon.js +0 -12
  138. package/dist/Icons/ActualBalanceIcon.js.map +0 -1
  139. package/dist/Icons/AppleIcon.d.ts +0 -1
  140. package/dist/Icons/AppleIcon.js +0 -6
  141. package/dist/Icons/AppleIcon.js.map +0 -1
  142. package/dist/Icons/CalendarIcon.d.ts +0 -1
  143. package/dist/Icons/CalendarIcon.js +0 -6
  144. package/dist/Icons/CalendarIcon.js.map +0 -1
  145. package/dist/Icons/ClockIcon.d.ts +0 -1
  146. package/dist/Icons/ClockIcon.js +0 -6
  147. package/dist/Icons/ClockIcon.js.map +0 -1
  148. package/dist/Icons/ComfortableCompIcon.d.ts +0 -1
  149. package/dist/Icons/ComfortableCompIcon.js +0 -8
  150. package/dist/Icons/ComfortableCompIcon.js.map +0 -1
  151. package/dist/Icons/DollarIcon.d.ts +0 -1
  152. package/dist/Icons/DollarIcon.js +0 -6
  153. package/dist/Icons/DollarIcon.js.map +0 -1
  154. package/dist/Icons/EmptyWalletIcon.d.ts +0 -1
  155. package/dist/Icons/EmptyWalletIcon.js +0 -6
  156. package/dist/Icons/EmptyWalletIcon.js.map +0 -1
  157. package/dist/Icons/EuroIcon.d.ts +0 -1
  158. package/dist/Icons/EuroIcon.js +0 -6
  159. package/dist/Icons/EuroIcon.js.map +0 -1
  160. package/dist/Icons/GridIcon.d.ts +0 -1
  161. package/dist/Icons/GridIcon.js +0 -6
  162. package/dist/Icons/GridIcon.js.map +0 -1
  163. package/dist/Icons/LoupeIcon.d.ts +0 -1
  164. package/dist/Icons/LoupeIcon.js +0 -6
  165. package/dist/Icons/LoupeIcon.js.map +0 -1
  166. package/dist/Icons/NewDocIcon.d.ts +0 -1
  167. package/dist/Icons/NewDocIcon.js +0 -8
  168. package/dist/Icons/NewDocIcon.js.map +0 -1
  169. package/dist/Icons/OkIcon.d.ts +0 -1
  170. package/dist/Icons/OkIcon.js +0 -6
  171. package/dist/Icons/OkIcon.js.map +0 -1
  172. package/dist/Icons/PassSendIcon.d.ts +0 -1
  173. package/dist/Icons/PassSendIcon.js +0 -12
  174. package/dist/Icons/PassSendIcon.js.map +0 -1
  175. package/dist/Icons/PercentageSquareIcon.d.ts +0 -1
  176. package/dist/Icons/PercentageSquareIcon.js +0 -6
  177. package/dist/Icons/PercentageSquareIcon.js.map +0 -1
  178. package/dist/Icons/PlayMarket.d.ts +0 -1
  179. package/dist/Icons/PlayMarket.js +0 -6
  180. package/dist/Icons/PlayMarket.js.map +0 -1
  181. package/dist/Icons/ProfileIcon.d.ts +0 -1
  182. package/dist/Icons/ProfileIcon.js +0 -6
  183. package/dist/Icons/ProfileIcon.js.map +0 -1
  184. package/dist/Icons/SignDocsIcon.d.ts +0 -1
  185. package/dist/Icons/SignDocsIcon.js +0 -10
  186. package/dist/Icons/SignDocsIcon.js.map +0 -1
  187. package/dist/Icons/TelegramIcon.d.ts +0 -1
  188. package/dist/Icons/TelegramIcon.js +0 -6
  189. package/dist/Icons/TelegramIcon.js.map +0 -1
  190. package/dist/Icons/VKIcon.d.ts +0 -1
  191. package/dist/Icons/VKIcon.js.map +0 -1
  192. package/dist/Icons/index.d.ts +0 -19
  193. package/dist/Icons/index.js +0 -41
  194. package/dist/Icons/index.js.map +0 -1
  195. package/lib/Icons/ActualBalanceIcon.d.ts +0 -1
  196. package/lib/Icons/ActualBalanceIcon.js +0 -9
  197. package/lib/Icons/ActualBalanceIcon.js.map +0 -1
  198. package/lib/Icons/AppleIcon.d.ts +0 -1
  199. package/lib/Icons/AppleIcon.js +0 -3
  200. package/lib/Icons/AppleIcon.js.map +0 -1
  201. package/lib/Icons/CalendarIcon.d.ts +0 -1
  202. package/lib/Icons/CalendarIcon.js +0 -3
  203. package/lib/Icons/CalendarIcon.js.map +0 -1
  204. package/lib/Icons/ClockIcon.d.ts +0 -1
  205. package/lib/Icons/ClockIcon.js +0 -3
  206. package/lib/Icons/ClockIcon.js.map +0 -1
  207. package/lib/Icons/ComfortableCompIcon.d.ts +0 -1
  208. package/lib/Icons/ComfortableCompIcon.js +0 -5
  209. package/lib/Icons/ComfortableCompIcon.js.map +0 -1
  210. package/lib/Icons/DollarIcon.d.ts +0 -1
  211. package/lib/Icons/DollarIcon.js +0 -3
  212. package/lib/Icons/DollarIcon.js.map +0 -1
  213. package/lib/Icons/EmptyWalletIcon.d.ts +0 -1
  214. package/lib/Icons/EmptyWalletIcon.js +0 -3
  215. package/lib/Icons/EmptyWalletIcon.js.map +0 -1
  216. package/lib/Icons/EuroIcon.d.ts +0 -1
  217. package/lib/Icons/EuroIcon.js +0 -3
  218. package/lib/Icons/EuroIcon.js.map +0 -1
  219. package/lib/Icons/GridIcon.d.ts +0 -1
  220. package/lib/Icons/GridIcon.js +0 -3
  221. package/lib/Icons/GridIcon.js.map +0 -1
  222. package/lib/Icons/LoupeIcon.d.ts +0 -1
  223. package/lib/Icons/LoupeIcon.js +0 -3
  224. package/lib/Icons/LoupeIcon.js.map +0 -1
  225. package/lib/Icons/NewDocIcon.d.ts +0 -1
  226. package/lib/Icons/NewDocIcon.js +0 -5
  227. package/lib/Icons/NewDocIcon.js.map +0 -1
  228. package/lib/Icons/OkIcon.d.ts +0 -1
  229. package/lib/Icons/OkIcon.js +0 -3
  230. package/lib/Icons/OkIcon.js.map +0 -1
  231. package/lib/Icons/PassSendIcon.d.ts +0 -1
  232. package/lib/Icons/PassSendIcon.js +0 -9
  233. package/lib/Icons/PassSendIcon.js.map +0 -1
  234. package/lib/Icons/PercentageSquareIcon.d.ts +0 -1
  235. package/lib/Icons/PercentageSquareIcon.js +0 -3
  236. package/lib/Icons/PercentageSquareIcon.js.map +0 -1
  237. package/lib/Icons/PlayMarket.d.ts +0 -1
  238. package/lib/Icons/PlayMarket.js +0 -3
  239. package/lib/Icons/PlayMarket.js.map +0 -1
  240. package/lib/Icons/ProfileIcon.d.ts +0 -1
  241. package/lib/Icons/ProfileIcon.js +0 -3
  242. package/lib/Icons/ProfileIcon.js.map +0 -1
  243. package/lib/Icons/SignDocsIcon.d.ts +0 -1
  244. package/lib/Icons/SignDocsIcon.js +0 -7
  245. package/lib/Icons/SignDocsIcon.js.map +0 -1
  246. package/lib/Icons/TelegramIcon.d.ts +0 -1
  247. package/lib/Icons/TelegramIcon.js +0 -3
  248. package/lib/Icons/TelegramIcon.js.map +0 -1
  249. package/lib/Icons/VKIcon.d.ts +0 -1
  250. package/lib/Icons/VKIcon.js +0 -3
  251. package/lib/Icons/VKIcon.js.map +0 -1
  252. package/lib/Icons/index.d.ts +0 -19
  253. package/lib/Icons/index.js +0 -20
  254. package/lib/Icons/index.js.map +0 -1
  255. package/src/Icons/ActualBalanceIcon.tsx +0 -202
  256. package/src/Icons/AppleIcon.tsx +0 -15
  257. package/src/Icons/CalendarIcon.tsx +0 -19
  258. package/src/Icons/ClockIcon.tsx +0 -212
  259. package/src/Icons/ComfortableCompIcon.tsx +0 -379
  260. package/src/Icons/DollarIcon.tsx +0 -12
  261. package/src/Icons/EmptyWalletIcon.tsx +0 -25
  262. package/src/Icons/EuroIcon.tsx +0 -12
  263. package/src/Icons/GridIcon.tsx +0 -9
  264. package/src/Icons/LoupeIcon.tsx +0 -11
  265. package/src/Icons/NewDocIcon.tsx +0 -262
  266. package/src/Icons/OkIcon.tsx +0 -8
  267. package/src/Icons/PassSendIcon.tsx +0 -250
  268. package/src/Icons/PercentageSquareIcon.tsx +0 -18
  269. package/src/Icons/PlayMarket.tsx +0 -8
  270. package/src/Icons/ProfileIcon.tsx +0 -18
  271. package/src/Icons/SignDocsIcon.tsx +0 -295
  272. package/src/Icons/TelegramIcon.tsx +0 -8
  273. package/src/Icons/VKIcon.tsx +0 -10
  274. package/src/Icons/index.ts +0 -19
package/lib/types.d.ts CHANGED
@@ -60,11 +60,6 @@ export declare type NavMenuItem = LinkContent;
60
60
  export interface TopMenuItem extends NavMenuItem {
61
61
  items?: NavMenuItem[];
62
62
  }
63
- export interface Benefit {
64
- label: string;
65
- description?: string;
66
- icon?: string;
67
- }
68
63
  export interface DaDataResult {
69
64
  suggestions?: DaDataSuggestion<DaDataAddress>[];
70
65
  }
@@ -0,0 +1,6 @@
1
+ export interface ArrowButtonProps {
2
+ onClick?: () => void;
3
+ ariaLabel?: string;
4
+ className?: string;
5
+ }
6
+ export declare const ArrowButton: (props: import("@redneckz/uni-jsx").PropsWithChildren<ArrowButtonProps, any>, context?: any) => any;
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
2
+ import { JSX } from '@redneckz/uni-jsx';
3
+ export const ArrowButton = JSX(({ className, onClick, ariaLabel }) => {
4
+ return (_jsx("button", { className: `${className} border-none no-underline w-12 h-12 rounded-3xl bg-white flex text-black hover:text-primary-main`, style: { boxShadow: '0px 4px 25px rgba(0, 0, 0, 0.07)' }, onClick: onClick, "aria-label": ariaLabel, children: _jsxs("svg", { className: "m-auto", width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("path", { d: "M7 12L3 8L7 4", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round" }), _jsx("path", { d: "M14 9C14.5523 9 15 8.55228 15 8C15 7.44772 14.5523 7 14 7L14 9ZM8 7C7.44772 7 7 7.44772 7 8C7 8.55229 7.44772 9 8 9L8 7ZM14 7L8 7L8 9L14 9L14 7Z", fill: "currentColor" })] }) }));
5
+ });
6
+ //# sourceMappingURL=ArrowButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArrowButton.js","sourceRoot":"","sources":["../../src/ui-kit/ArrowButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AASxC,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAAmB,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE;IACrF,OAAO,CACL,iBACE,SAAS,EAAE,GAAG,SAAS,kGAAkG,EACzH,KAAK,EAAE,EAAE,SAAS,EAAE,kCAAkC,EAAE,EACxD,OAAO,EAAE,OAAO,gBACJ,SAAS,YAErB,eACE,SAAS,EAAC,QAAQ,EAClB,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,aAElC,eAAM,CAAC,EAAC,eAAe,EAAC,MAAM,EAAC,cAAc,kBAAc,GAAG,oBAAgB,OAAO,GAAG,EACxF,eACE,CAAC,EAAC,kJAAkJ,EACpJ,IAAI,EAAC,cAAc,GACnB,IACE,GACC,CACV,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ export declare type IconName = 'ActualBalanceIcon' | 'AppleIcon' | 'CalendarIcon' | 'ClockIcon' | 'ComfortableCompIcon' | 'DollarIcon' | 'EmptyWalletIcon' | 'EuroIcon' | 'GridIcon' | 'LoupeIcon' | 'NewDocIcon' | 'OkIcon' | 'PassSendIcon' | 'PercentageSquareIcon' | 'PlayMarketIcon' | 'ProfileIcon' | 'SignDocsIcon' | 'TelegramIcon' | 'VKIcon' | 'ArrowLeftIcon';
2
+ export interface IconProps {
3
+ className?: string;
4
+ name: IconName;
5
+ alt?: string;
6
+ title?: string;
7
+ width?: string;
8
+ height?: string;
9
+ 'aria-hidden'?: 'true';
10
+ }
11
+ export declare const Icon: (props: import("@redneckz/uni-jsx").PropsWithChildren<IconProps, any>, context?: any) => any;
@@ -0,0 +1,5 @@
1
+ import { jsx as _jsx } from "@redneckz/uni-jsx/jsx-runtime";
2
+ import { JSX } from '@redneckz/uni-jsx';
3
+ import { projectSettings } from '../ProjectSettings.js';
4
+ export const Icon = JSX(({ className, name, alt = `Icon ${name}`, title = alt, ...imgProps }) => (_jsx("img", { className: className, src: `${projectSettings.CDN || ''}icons/${name}.svg`, alt: alt, title: title, ...imgProps })));
5
+ //# sourceMappingURL=Icon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Icon.js","sourceRoot":"","sources":["../../src/ui-kit/Icon.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAkCrD,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,CACrB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,GAAG,QAAQ,IAAI,EAAE,EAAE,KAAK,GAAG,GAAG,EAAE,GAAG,QAAQ,EAAE,EAAE,EAAE,CAAC,CACvE,cACE,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,GAAG,eAAe,CAAC,GAAG,IAAI,EAAE,SAAS,IAAI,MAAM,EACpD,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,KACR,QAAQ,GACZ,CACH,CACF,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import type { ButtonProps } from './Button';
2
+ import { IconName } from './Icon';
2
3
  export interface IconButtonProps extends ButtonProps {
3
- icon?: string;
4
+ icon?: IconName;
4
5
  aboveText?: string;
5
6
  }
6
7
  export declare const IconButton: (props: import("@redneckz/uni-jsx").PropsWithChildren<IconButtonProps, any>, context?: any) => any;
@@ -1,9 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
2
2
  import { JSX } from '@redneckz/uni-jsx';
3
- import { AppleIcon, PlayMarket } from '../Icons/index.js';
4
3
  import { Button } from './Button.js';
5
- const ICONS = { AppleIcon, PlayMarket };
4
+ import { Icon } from './Icon.js';
6
5
  export const IconButton = JSX((props) => {
7
- return (_jsx(Button, { ...props, children: props.icon ? (_jsxs("div", { className: "flex items-center", children: [_jsx("div", { className: "mr-2", children: ICONS[props.icon]?.() }), _jsxs("div", { children: [_jsx("div", { className: "text-xxs text-left", children: props.aboveText }), _jsx("div", { className: "text-sm font-medium text-left", children: props.text })] })] })) : null }));
6
+ return (_jsx(Button, { ...props, children: props.icon ? (_jsxs("div", { className: "flex items-center", children: [_jsx("div", { className: "mr-2", children: _jsx(Icon, { name: props.icon, width: "24", height: "24" }) }), _jsxs("div", { children: [_jsx("div", { className: "text-xxs text-left", children: props.aboveText }), _jsx("div", { className: "text-sm font-medium text-left", children: props.text })] })] })) : null }));
8
7
  });
9
8
  //# sourceMappingURL=IconButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IconButton.js","sourceRoot":"","sources":["../../src/ui-kit/IconButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEvD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,MAAM,KAAK,GAAG,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;AAOxC,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAkB,CAAC,KAAK,EAAE,EAAE;IACvD,OAAO,CACL,KAAC,MAAM,OAAK,KAAK,YACd,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CACZ,eAAK,SAAS,EAAC,mBAAmB,aAChC,cAAK,SAAS,EAAC,MAAM,YAAE,KAAK,CAAC,KAAK,CAAC,IAA0B,CAAC,EAAE,EAAE,GAAO,EACzE,0BACE,cAAK,SAAS,EAAC,oBAAoB,YAAE,KAAK,CAAC,SAAS,GAAO,EAC3D,cAAK,SAAS,EAAC,+BAA+B,YAAE,KAAK,CAAC,IAAI,GAAO,IAC7D,IACF,CACP,CAAC,CAAC,CAAC,IAAI,GACD,CACV,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"IconButton.js","sourceRoot":"","sources":["../../src/ui-kit/IconButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAExC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,IAAI,EAAY,MAAM,QAAQ,CAAC;AAOxC,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAkB,CAAC,KAAK,EAAE,EAAE;IACvD,OAAO,CACL,KAAC,MAAM,OAAK,KAAK,YACd,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CACZ,eAAK,SAAS,EAAC,mBAAmB,aAChC,cAAK,SAAS,EAAC,MAAM,YACnB,KAAC,IAAI,IAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,GAAG,GAC7C,EACN,0BACE,cAAK,SAAS,EAAC,oBAAoB,YAAE,KAAK,CAAC,SAAS,GAAO,EAC3D,cAAK,SAAS,EAAC,+BAA+B,YAAE,KAAK,CAAC,IAAI,GAAO,IAC7D,IACF,CACP,CAAC,CAAC,CAAC,IAAI,GACD,CACV,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -1,11 +1,11 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
2
2
  import { JSX } from '@redneckz/uni-jsx';
3
- import { LoupeIcon } from '../Icons/index.js';
3
+ import { Icon } from './Icon.js';
4
4
  export const SearchBar = JSX(({ className, context }) => {
5
- const search = context.useSearch();
6
- return (_jsxs("form", { className: `relative ${className || ''}`, children: [_jsxs("div", { className: "absolute rounded-l-full h-full flex items-center justify-center pl-4 max-w-[170px] gap-3.5", children: [_jsx("div", { className: "w-[24px] h-[24px]", children: LoupeIcon() }), _jsx("span", { className: "font-sans font-normal text-sm text-secondary-text", children: "\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0441\u0430\u0439\u0442\u0443" })] }), _jsx("input", { className: "pl-[170px] w-full font-sans font-normal text-sm border border-solid border-main-divider rounded-full h-full box-border outline-none", value: search.term, onChange: (e) => search.setTerm(e.target.value), type: "text", placeholder: "\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0441\u0430\u0439\u0442\u0443", name: "s" }), _jsx("button", { type: "submit", className: "absolute font-sans font-normal text-sm cursor-pointer bg-transparent hover:bg-primary-hover active:bg-primary-active text-primary-main hover:text-white border-none px-5 rounded-r-full h-full top-0 right-0 outline-none", onClick: (e) => {
5
+ const { term, setTerm } = context.useSearch();
6
+ return (_jsxs("form", { className: `relative ${className || ''}`, children: [_jsxs("div", { className: "absolute rounded h-full flex items-center justify-center pl-4 max-w-[170px] gap-3.5 pointer-events-none", children: [_jsx("div", { className: "w-[24px] h-[24px]", children: _jsx(Icon, { name: "LoupeIcon", width: "24", height: "24" }) }), !term && (_jsx("span", { className: "font-sans font-normal text-base text-secondary-text", children: "\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0441\u0430\u0439\u0442\u0443" }))] }), _jsx("input", { className: "pl-12 w-full font-sans font-normal text-base text-black border border-solid border-main-divider rounded h-full box-border outline-none pr-[6%]", value: term, onChange: (e) => setTerm(e.target.value), type: "text", name: "s" }), term && (_jsx("button", { type: "submit", className: "absolute font-sans font-normal text-sm cursor-pointer bg-transparent hover:bg-primary-hover active:bg-primary-active text-primary-main hover:text-white border-none px-5 py-2 rounded top-1 right-1 outline-none", onClick: (e) => {
7
7
  e.preventDefault();
8
8
  console.log('click');
9
- }, children: "\u041D\u0430\u0439\u0442\u0438" })] }));
9
+ }, children: "\u041D\u0430\u0439\u0442\u0438" }))] }));
10
10
  });
11
11
  //# sourceMappingURL=SearchBar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SearchBar.js","sourceRoot":"","sources":["../../src/ui-kit/SearchBar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,CAAgB,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE;IACrE,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IACnC,OAAO,CACL,gBAAM,SAAS,EAAE,YAAY,SAAS,IAAI,EAAE,EAAE,aAC5C,eAAK,SAAS,EAAC,4FAA4F,aACzG,cAAK,SAAS,EAAC,mBAAmB,YAAE,SAAS,EAAE,GAAO,EACtD,eAAM,SAAS,EAAC,mDAAmD,2FAAsB,IACrF,EACN,gBACE,SAAS,EAAC,qIAAqI,EAC/I,KAAK,EAAE,MAAM,CAAC,IAAI,EAClB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC/C,IAAI,EAAC,MAAM,EACX,WAAW,EAAC,4EAAgB,EAC5B,IAAI,EAAC,GAAG,GACR,EACF,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,2NAA2N,EACrO,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;oBACb,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACvB,CAAC,+CAGM,IACJ,CACR,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"SearchBar.js","sourceRoot":"","sources":["../../src/ui-kit/SearchBar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAExC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,CAAgB,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE;IACrE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAC9C,OAAO,CACL,gBAAM,SAAS,EAAE,YAAY,SAAS,IAAI,EAAE,EAAE,aAC5C,eAAK,SAAS,EAAC,yGAAyG,aACtH,cAAK,SAAS,EAAC,mBAAmB,YAChC,KAAC,IAAI,IAAC,IAAI,EAAC,WAAW,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,GAAG,GAC5C,EACL,CAAC,IAAI,IAAI,CACR,eAAM,SAAS,EAAC,qDAAqD,2FAE9D,CACR,IACG,EACN,gBACE,SAAS,EAAC,gJAAgJ,EAC1J,KAAK,EAAE,IAAI,EACX,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACxC,IAAI,EAAC,MAAM,EACX,IAAI,EAAC,GAAG,GACR,EACD,IAAI,IAAI,CACP,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,kNAAkN,EAC5N,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;oBACb,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACvB,CAAC,+CAGM,CACV,IACI,CACR,CAAC;AACJ,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redneckz/wildless-cms-uni-blocks",
3
- "version": "0.2.61",
3
+ "version": "0.2.64",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -74,16 +74,20 @@
74
74
  "url": "https://github.com/redneckz/wildless-cms-uni-blocks/issues"
75
75
  },
76
76
  "scripts": {
77
- "build": "npm run build:lib && npm run build:commonjs && npm run build:style",
77
+ "start": "npm run cosmos",
78
+ "build": "npm run build:lib && npm run build:commonjs && npm run build:style && npm run build:icons",
78
79
  "build:lib": "rimraf ./lib && tsc --build --verbose",
79
80
  "postbuild:lib": "replace-in-file --configFile=replace-config.lib.cjs --verbose",
80
81
  "build:commonjs": "rimraf ./dist && tsc --module commonjs --noImplicitUseStrict --outDir dist",
81
82
  "bundle": "rimraf ./bundle && rollup -c",
82
83
  "build:style": "postcss './src/**/*.css' --env production --dir ./lib",
83
84
  "postbuild:style": "npm run size",
85
+ "build:icons": "svgo -f ./src/icons -o ./cosmos-static/icons",
84
86
  "size": "size-limit",
85
87
  "test": "jest --coverage",
88
+ "precosmos": "npm run build:icons",
86
89
  "cosmos": "cosmos",
90
+ "precosmos:export": "npm run build:icons",
87
91
  "cosmos:export": "cosmos-export",
88
92
  "prepare": "husky install || exit 0"
89
93
  },
@@ -130,6 +134,7 @@
130
134
  "rollup-plugin-terser": "^7.0.2",
131
135
  "size-limit": "^7.0.8",
132
136
  "style-loader": "^3.3.1",
137
+ "svgo": "^2.8.0",
133
138
  "tailwindcss": "^3.1.1",
134
139
  "ts-jest": "^28.0.4",
135
140
  "ts-loader": "^9.3.0",
@@ -145,8 +150,8 @@
145
150
  ],
146
151
  "lint-staged": {
147
152
  "src/**/*.{js,jsx,ts,tsx,css}": "prettier --write",
148
- "src/**/*.{js,jsx,ts,tsx,css,json}": [
149
- "cosmos-export",
153
+ "*.{js,jsx,ts,tsx,css,json}": [
154
+ "npm run cosmos:export",
150
155
  "git add ./docs"
151
156
  ]
152
157
  }
@@ -1,8 +1,12 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
- import { ClockIcon, SignDocsIcon, ComfortableCompIcon, ActualBalanceIcon } from './Icons/index';
3
- import type { UniBlockProps, Benefit } from './types';
2
+ import type { UniBlockProps } from './types';
3
+ import { Icon, IconName } from './ui-kit/Icon';
4
4
 
5
- const ICONS = { ClockIcon, SignDocsIcon, ComfortableCompIcon, ActualBalanceIcon };
5
+ export interface Benefit {
6
+ label: string;
7
+ description?: string;
8
+ icon?: IconName;
9
+ }
6
10
 
7
11
  export interface BenefitsBlockContent {
8
12
  title?: string;
@@ -30,9 +34,12 @@ const renderStep = (benefit: Benefit, i: number) => {
30
34
  return (
31
35
  <div key={String(i)} className="flex items-center p-10 gap-5 max-w-[580px]">
32
36
  {benefit.icon && (
33
- <div className="h-[70px] w-[70px] min-w-[70px] min-h-[70px]">
34
- {ICONS[benefit.icon as keyof typeof ICONS]?.()}
35
- </div>
37
+ <Icon
38
+ className="h-[70px] w-[70px] min-w-[70px] min-h-[70px]"
39
+ name={benefit.icon}
40
+ width="70"
41
+ height="70"
42
+ />
36
43
  )}
37
44
  <div>
38
45
  <h3 className="font-medium text-xl m-0">{benefit.label}</h3>
package/src/Blocks.ts CHANGED
@@ -13,6 +13,7 @@ import { BaseTileContent } from './BaseTile';
13
13
  import { PromoTile, PromoTileContent } from './PromoTile';
14
14
  import { Tile } from './Tile';
15
15
  import { TextBlock, TextBlockContent } from './TextBlock';
16
+ import { Gallery, GalleryContent } from './Gallery';
16
17
 
17
18
  export const Blocks = {
18
19
  Header,
@@ -28,6 +29,7 @@ export const Blocks = {
28
29
  ProductGallery,
29
30
  ExchangeRateTile,
30
31
  MobileAppTile,
32
+ Gallery,
31
33
  };
32
34
 
33
35
  export type BlockContent =
@@ -43,4 +45,5 @@ export type BlockContent =
43
45
  | BenefitsBlockContent
44
46
  | ProductGalleryContent
45
47
  | ExchangeRateTileContent
46
- | MobileAppTileContent;
48
+ | MobileAppTileContent
49
+ | GalleryContent;
@@ -388,7 +388,23 @@
388
388
  "qr": {
389
389
  "href": "https://rshbnaturaldbo.onelink.me/qhkF/f182074f?af_qr=true",
390
390
  "src": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKQAAACkCAYAAAAZtYVBAAAAAXNSR0IArs4c6QAACp1JREFUeF7tndtuKzkMBJ3//+gssG8aA1MoNDXWcTqvlCiqWSI1vuXn9/f399W/KnCIAj8F8pBMNIz/FSiQBeEoBQrkUeloMAWyDBylQIE8Kh0NpkCWgaMUKJBHpaPBFMgycJQCBfKodDSYAlkGjlKgQB6VjgZTIMvAUQoUyKPS0WAKZBk4SoECeVQ6GkwM5M/Pz6Mq2o9vUnxXf9fxtB75T8U5Pb7r/kgv0qNAXj6fXCAJmXt7gQT9qIKdXoFOj68VUn7jokCefaW6Aj3estOS/Rbg5Y5q/adAUgOjeNIrQOrfrk/7nc5PgbwoQC2REpQCkyaYgCM77Y/s0/5bIeGhhhJSINcrAelBehbIAkmM3Nr/uQpJdzh6SqMNk386sbvnU7bpymDt9gpA+0/zQ/t//A65e8Pkv0Det1TSr0DKF6pJ0AJZIJdDRcCkJ5D8F8gC+VEgCcD0jkV3Ojpg9k5l47Xj6UDTfuiOb/e7/Sl794ZTQWi+tVMCbYIsYHb87vzY/RZIeCeoQK5IUYewHerrn7KtIBY4SkgrZPbrjl9XIalFpEClAFNLTeOn/ZF9en3y9/UVkgSwCaHx1l4g7zPUCgmfeLfAUQUtkAVyUYAAozsgAUf2AvlhIKmFkp0STPbdAFD89gDYA2HH24c+2p/VH/2lvzE+HRABRAkmwadfdyOBKd7p+bQe6UPx2PxofwXyXjJKMAn+9Hxar0BSxsBOFZjsdKIpPErwafMp3j8HJCUotVvBCdi/Zk/1p/kp8OMv+1DAqb1Aru+E2AOV6k/zC+Twe9HfDjwBldoLZIFcGKIDlQJH8z8OJAW4225fxqF4bELjBAz/NlIaD+mz2x7fIXcHSP4L5KpQgSRiNtsLZIHcjJhzXyAL5KLA0y872JZEwNKdMbVfj1ca/3Q87vi/XjZ+6z++QxbI+9cFC6RDskCG3wOnilUgC+TtlYIAsRW/QDrgaPR4haQFUyCu8y1AFJ+9I02vT/GRfqQPzZ++c9v9FMiLYgXy/hd3qSNY/d4O0PTnIe2JSDc4XaGsoNPrp/q1QoZvfRVIi6B73TFtwbbF2wM9XiGtnFRR6ISnG0792wQ/rQ+tZwuAzRetT/b4DkkLTANQIFdF6YCkFa5AXhTcLYj1TwCkB2Y6ngIJJTMVPE34dMWmhD/dQWi9tmxZ8aaBpYpGQNF8m2B7IGh9AjDdH/kfLxDpyz4UcJoA2jABbBNKgNkEPx0/5cPuz/qj8WQ/7qGGAEsBJ0Fswmh8gSTFLw9prZCrIARYK+S9Xg6/99HbKyRVvNROFdMKRBXN+rPjSQ/yR/OnrzDTehXIS4anBSaA6EDZeAokKG4FopZJCbIVgFqwBSodT3qRf5pv9UnzQfG+Hcjdd0grUCqAFbxA3iOT5uM4IKklWSAIOKqgNh4r6PR+yJ898E/7s/ptv0NaAAioAjn72z62Ak7r/3jLLpD3/yaDEvx0RZuuuK2Qly9tkSAWCPJHANkDSv6mAZr2Z/Xa3rLtBne3EIqHgLFXCtqPTdi0P1qf1iM9yP/jLZsAmLanFaVArgoUyPB70gXS1qQ/9rLPdAWkE1sg/ziQ9qFg+s4xK//rRQfItnTyR/rRASQ7HVDaj52f5iN+qCFBn95QLAj8Ii8lkAAhO+k1DTjth+JJ9R5/qCmQ6xfrCTiyEwAFEo5AgSyQk1VyvGVTBZi2WzGowlALozsw+Se7XZ8KAulN+qX7Jf/bWzYJMG3XGx6+I6YApQkvkJcM0InfbS+Q2Y9DkX7pgSH/rZCtkIqRfw5I27JIDaqo0+uRv91PvdZ/Oj6db69clO/xCkkJpROWzrcAk0DpnYwSRuvb+XZ8gQw/DkZAF0j3o/sFskBSUVzstuLZ8QUSPr2jsvXi/5NCLZcSQvHYivz0eNof6WMBpw5Gen78DkmC0AZIAOuf/D19x00BLpAXBUhQCwwJTMCkgJN/Apr0mPZPepH+rZBEzMVuASD35G8aGFovBbhADldIShgBQgBau60YBATFn+4/jTfVx84//g6ZJiQVhICilkfzC+R9huJP+1iBKaEF8v573NN6pwfY5ovWK5CgUNoCKWH2zlggIWFU8WwL2y34bsCwAsA/mrLxEfCpnrvjGb9DFkhCcLWTXrsBoIps7WnBKZDhO0e2IlGFooRagOl4WOB2H5ACWSAXBgg4stOBogPyOJBUUT5dAaxglADaT7qenU/6k7+0opL/Ahn+99oC6X6fskDCVxSmK5htaTZB6fhWyIuCJAgBQvPpoWE3MLv9F0ipgL1jkHtKMNmppdL6dj8UDx0oOpAU7/R+d69H/uN3amwCKSCbYEooAZFWWBsvrUf6kD3dL/lPDwD5L5AXhewBK5DuvfcCOfydnhTYVsh7JLdXyDQB1IIsINRy6ApAJ5zipfm0vq3I5I/iIb3sfBpfIMN3bqYTRgAVSECaKlQrJNWE1V4gwx5TIFegQjnfflKaKjDpT4C748JfQ7b+3gpW+s83SRAbIAlILYvWI2BoP7vtaUeh/ZOd9KH47PwCCU/du4Ej/5RwAiq1W6Dsfii+xx9qMKDhT1RTyyMAqCJP2yke0i+1F8iLgm3Z7iEnBdAeWDowFujxlj0tiPWXtgyab+02fgLCrm+BSP3TfKtH3LLtgtPjU0FovrWn+9t9BbAVzu7fHohWSLgipEAUyOy97VZI+YFeArZAfhhIeghJE0R3LNuCpsdTfLblpXrRgUnttN80/rhCFsg1BdMJtwlO16f5BfKiAF2aqSK1QrovaVHBoXzYA9UKGf7fGqoYdEAo4TahVOFSO+3Xxjv+lE2CxwFufuigBKXxpxXEAmvXS/1P53+8QlpBKOG0YWunE24TRPGneth47Hqpf9Kf9GmFhDupTRAJbgGhO+70ena/1FHi/Z728TNKiBWEBCd/BADZ4wTJX9qw65E+tqPY9R+vkLs3TC1j2j4NIOlDCab5FC/Z7YGleGm97XdIKxgJ8Gk7CWoTQvqQP5pP8ZKd9KYKSv5bIeFLXTYBaUIIqAIpkbYtkdwTEJ+22/hpfIFcFfrzLXsaGDqgdr3pA2gfGtN4aX5bdvhLFtSiC+Rhn/ahE00nhuZP2yke21ILZIFcmLLAFsifW/2sPvQQhv52vzBOFSZtgeQ/Fki+l273Q+MxgfKFc7teWvEp/q+/Q1rBSTBKiD0QdryNj8ZbfWj/dj0a/3VP2VZwFKgVMmrppG8rpFSIKoSteHY8hUv+aD5daWj/5N/at1dIG9DbiQk/QEuC03o2fvtQRUCRv7Qj0Pqpf6tfgbwoZhNECaMKQ+sVSIk0CS7dvQ23/u34Vsj1ZR/Kl+045O/xO6QNiAAhQQqke2GaKjR1gDS/24GcDpAEIQBTuz0gtJ7Vh/yR3cZP8dn1yF+BlB8/swmdThj5I7uNnwCy65G/AlkgFwboCjQNNAE6/pRNC6Z2euqcttuETFcQ8kd2Gz/lx65H/sYrpF2w46vAnQJxhay8VWBSgQI5qWZ9xQoUyFjCOphUoEBOqllfsQIFMpawDiYVKJCTatZXrECBjCWsg0kFCuSkmvUVK1AgYwnrYFKBAjmpZn3FChTIWMI6mFSgQE6qWV+xAgUylrAOJhUokJNq1lesQIGMJayDSQX+AzMMbwXyi0XeAAAAAElFTkSuQmCC"
391
- }
391
+ },
392
+ "buttons": [
393
+ {
394
+ "aboveText": "Загрузите в",
395
+ "text": "App Store",
396
+ "icon": "AppleIcon",
397
+ "href": "#",
398
+ "version": "secondary"
399
+ },
400
+ {
401
+ "aboveText": "Доступно в",
402
+ "text": "Google Play",
403
+ "icon": "PlayMarketIcon",
404
+ "href": "#",
405
+ "version": "secondary"
406
+ }
407
+ ]
392
408
  },
393
409
  "mobile": {
394
410
  "style": ["col-span-12"]
@@ -1,8 +1,8 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
- import { DollarIcon, EuroIcon } from './Icons/index';
3
2
  import { Tile } from './Tile';
4
3
  import type { UniBlockProps } from './types';
5
4
  import { ButtonProps } from './ui-kit/Button';
5
+ import { Icon } from './ui-kit/Icon';
6
6
 
7
7
  export interface ExchangeRateTileContent {
8
8
  title?: string;
@@ -14,8 +14,8 @@ const CBR_EXCHANGE_RATE_URL = 'https://www.cbr-xml-daily.ru/daily_json.js';
14
14
 
15
15
  const CURRENCY_CODES = ['USD', 'EUR'];
16
16
  const CURRENCY_ICONS_MAP = {
17
- USD: DollarIcon,
18
- EUR: EuroIcon,
17
+ USD: 'DollarIcon',
18
+ EUR: 'EuroIcon',
19
19
  };
20
20
 
21
21
  const buttons: ButtonProps[] = [
@@ -48,7 +48,7 @@ export const ExchangeRateTile = JSX<ExchangeRateTileProps>(({ className, context
48
48
  <tr key={code}>
49
49
  <CurrencyTD className="pt-4">
50
50
  <div className="flex items-center">
51
- {CURRENCY_ICONS_MAP[code] ? CURRENCY_ICONS_MAP[code]() : null}
51
+ <Icon name={CURRENCY_ICONS_MAP[code]} width="24" height="24" />
52
52
  <span className="ml-2">{code}</span>
53
53
  </div>
54
54
  </CurrencyTD>
@@ -24,8 +24,8 @@ export interface FooterProps extends FooterContent, UniBlockProps {}
24
24
  export const Footer = JSX<FooterProps>(
25
25
  ({ className, documents, relatedEnterprises, contacts, socialMedia, topItems, context }) => {
26
26
  return (
27
- <footer className={`${className} px-9 py-2 bg-white rounded-bl-3xl rounded-br-3xl`}>
28
- <div className="flex items-stretch gap-32 py-8 xl:gap-8">
27
+ <footer className={`${className} px-9 py-10 bg-white`}>
28
+ <div className="flex items-stretch gap-32 pb-8 xl:gap-8">
29
29
  <Logo className={`${LEFT_COL_WIDTH_FULL_HD} ${LEFT_COL_WIDTH_SMALL_DESKTOP}`} />
30
30
  <SearchBar context={context} className="grow" />
31
31
  </div>
@@ -10,7 +10,7 @@ export const HorizontalNavigation = JSX<FooterLink>(({ className, links, context
10
10
  return (
11
11
  <div className={`${className || ''}`}>
12
12
  {links?.length ? (
13
- <div className="flex justify-between items-center gap-5 py-5 border-solid border-x-0 border-y-1 border-y-main-divider">
13
+ <div className="flex justify-between items-center gap-5 py-5 border-solid border-x-0 border-y border-y-main-divider">
14
14
  {links.map((_, i) => (
15
15
  <HorizontalNavigationLink
16
16
  key={String(i)}
@@ -48,7 +48,7 @@ interface ColumnItemProps extends LinkContent {
48
48
 
49
49
  const ColumnItem = JSX<ColumnItemProps>(({ text, href, target, index }) => (
50
50
  <a
51
- className="block font-sans font-normal text-base text-secondary-text hover:text-primary-text no-underline"
51
+ className="block font-sans font-normal text-base text-secondary-text hover:text-primary-main no-underline"
52
52
  href={href}
53
53
  target={target || '_self'}
54
54
  >
@@ -1,12 +1,12 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
2
  import type { LinkContent, UniBlockProps } from '../types';
3
- import { TelegramIcon, VKIcon, OkIcon } from '../Icons/index';
3
+ import { Icon, IconName } from '../ui-kit/Icon';
4
4
  import { useLink } from '../useLink';
5
5
 
6
- const ICONS_MAP = [
7
- { origins: ['t.me', 'telegram.org'], icon: TelegramIcon, label: 'Телеграм' },
8
- { origins: ['vk.com'], icon: VKIcon, label: 'ВКонтакте' },
9
- { origins: ['ok.ru'], icon: OkIcon, label: 'Одноклассники' },
6
+ const ICONS_MAP: Array<{ origins: string[]; icon: IconName; label: string }> = [
7
+ { origins: ['t.me', 'telegram.org'], icon: 'TelegramIcon', label: 'Телеграм' },
8
+ { origins: ['vk.com'], icon: 'VKIcon', label: 'ВКонтакте' },
9
+ { origins: ['ok.ru'], icon: 'OkIcon', label: 'Одноклассники' },
10
10
  ];
11
11
 
12
12
  export interface SocialMediaProps extends UniBlockProps {
@@ -17,7 +17,7 @@ export const SocialMedia = JSX<SocialMediaProps>(({ className, media, context })
17
17
  const router = context.useRouter();
18
18
  const { handlerDecorator } = context;
19
19
  return (
20
- <div className={`flex items-end justify-end gap-2 py-6 ${className || ''}`}>
20
+ <div className={`flex items-end justify-end gap-2 pt-[30px] pb-7 ${className || ''}`}>
21
21
  {media?.map((_, index) => (
22
22
  <MediaButton key={String(index)} {...useLink({ router, handlerDecorator }, _)} />
23
23
  ))}
@@ -30,17 +30,17 @@ interface MediaButtonProps {
30
30
  }
31
31
 
32
32
  const MediaButton = JSX<MediaButtonProps>(({ href }) => {
33
- const { icon: Icon, label } =
33
+ const { icon, label } =
34
34
  ICONS_MAP.find(({ origins }) => origins.some((_) => href?.includes(_))) || {};
35
35
  return (
36
36
  <a
37
- className="flex items-center justify-center border-solid border-1 border-main-divider rounded-full no-underline outline-none w-8 h-8"
37
+ className="flex items-center justify-center border-solid border border-main-divider rounded-full no-underline outline-none w-9 h-9"
38
38
  href={href}
39
39
  target="_blank"
40
40
  rel="noopener noreferrer"
41
41
  aria-label={label}
42
42
  >
43
- {Icon && <Icon className="block" />}
43
+ {icon && <Icon className="block" name={icon} /> /* TODO width & height */}
44
44
  </a>
45
45
  );
46
46
  });
@@ -8,9 +8,9 @@ export const TextInformation = JSX<FooterLink>(({ className, links, context }) =
8
8
  const { handlerDecorator } = context;
9
9
  return (
10
10
  <div className={`${className || ''}`}>
11
- <div className="py-[5px]">
11
+ <div className="pt-5 pb-[5px]">
12
12
  <span className="font-sans font-normal text-xs text-secondary-text">
13
- {`\u00a9\u00A02000-${new Date().getFullYear()}\u00A0АО \u00AB;Россельхозбанк\u00BB Генеральная лицензия Банка России \u2116\u00A03349 от\u00A012.08.2015\u00A0г.`}
13
+ {`\u00a9\u00A02000-${new Date().getFullYear()}\u00A0АО \u00ABРоссельхозбанк\u00BB Генеральная лицензия Банка России \u2116\u00A03349 от\u00A012.08.2015\u00A0г.`}
14
14
  </span>
15
15
  </div>
16
16
  {links?.length ? (
@@ -0,0 +1,213 @@
1
+ import { context } from './setup-fixture';
2
+
3
+ import { Gallery, GalleryProps } from './Gallery';
4
+ import { Picture } from './types';
5
+
6
+ const image: Picture = {
7
+ src: 'money-1.png',
8
+ format: 'webp',
9
+ size: {
10
+ width: 140,
11
+ height: 140,
12
+ },
13
+ };
14
+
15
+ const defaultItems = [
16
+ 'Качественные фермерские продукты напрямую от производителей',
17
+ 'Самая большая база сельских туров по России',
18
+ 'Площадки для создания комфортной жизни за городом',
19
+ ];
20
+
21
+ const defaultProps: GalleryProps = {
22
+ title: 'Вы можете оплатить бонусными баллами',
23
+ description: 'Удобный каталог с большим ассортиментом товаров и сервисов',
24
+ context,
25
+ cards: [
26
+ {
27
+ title: 'Более 5000 товаров',
28
+ description:
29
+ 'Время копить: ставка растет в зависимости от срока нахождения средств на Счете!',
30
+ image,
31
+ href: '/credit-cards',
32
+ items: defaultItems,
33
+ },
34
+ {
35
+ title: 'Более 1000 развлечений',
36
+ description: 'Порядок и условия предоставления в соответствии с 106 ФЗ',
37
+ image,
38
+ href: '/credit-cards',
39
+ items: defaultItems,
40
+ },
41
+ {
42
+ title: 'Фермерские продукты',
43
+ description: 'Высокий процент даже при небольшой сумме денежных средств',
44
+ image,
45
+ href: '/credit-cards',
46
+ items: defaultItems,
47
+ },
48
+ {
49
+ title: '«Моя выгода»',
50
+ description:
51
+ 'Время копить: ставка растет в зависимости от срока нахождения средств на Счете!',
52
+ image,
53
+ href: '/credit-cards',
54
+ items: defaultItems,
55
+ },
56
+ {
57
+ title: 'Фермерские продукты',
58
+ description: 'Высокий процент даже при небольшой сумме денежных средств',
59
+ image,
60
+ href: '/credit-cards',
61
+ items: defaultItems,
62
+ },
63
+ ],
64
+ };
65
+
66
+ const textAndButtonProps: GalleryProps = {
67
+ title: 'Вы можете оплатить бонусными баллами',
68
+ description: 'Удобный каталог с большим ассортиментом товаров и сервисов',
69
+ context,
70
+ cards: [
71
+ {
72
+ title: 'Более 5000 товаров',
73
+ description:
74
+ 'Время копить: ставка растет в зависимости от срока нахождения средств на Счете!',
75
+ image,
76
+ href: '/credit-cards',
77
+ },
78
+ {
79
+ title: 'Более 1000 развлечений',
80
+ description: 'Порядок и условия предоставления в соответствии с 106 ФЗ',
81
+ image,
82
+ href: '/credit-cards',
83
+ },
84
+ {
85
+ title: 'Фермерские продукты',
86
+ description: 'Высокий процент даже при небольшой сумме денежных средств',
87
+ image,
88
+ href: '/credit-cards',
89
+ },
90
+ {
91
+ title: '«Моя выгода»',
92
+ description:
93
+ 'Время копить: ставка растет в зависимости от срока нахождения средств на Счете!',
94
+ image,
95
+ href: '/credit-cards',
96
+ },
97
+ {
98
+ title: 'Фермерские продукты',
99
+ description: 'Высокий процент даже при небольшой сумме денежных средств',
100
+ image,
101
+ href: '/credit-cards',
102
+ },
103
+ ],
104
+ };
105
+
106
+ const listAndButtonProps: GalleryProps = {
107
+ title: 'Вы можете оплатить бонусными баллами',
108
+ description: 'Удобный каталог с большим ассортиментом товаров и сервисов',
109
+ context,
110
+ cards: [
111
+ {
112
+ title: 'Более 5000 товаров',
113
+ image,
114
+ href: '/credit-cards',
115
+ items: defaultItems,
116
+ },
117
+ {
118
+ title: 'Более 1000 развлечений',
119
+ image,
120
+ href: '/credit-cards',
121
+ items: defaultItems,
122
+ },
123
+ {
124
+ title: 'Фермерские продукты',
125
+ image,
126
+ href: '/credit-cards',
127
+ items: defaultItems,
128
+ },
129
+ {
130
+ title: '«Моя выгода»',
131
+ image,
132
+ href: '/credit-cards',
133
+ items: defaultItems,
134
+ },
135
+ {
136
+ title: 'Фермерские продукты',
137
+ image,
138
+ href: '/credit-cards',
139
+ items: defaultItems,
140
+ },
141
+ ],
142
+ };
143
+
144
+ const textAndNoButtonProps: GalleryProps = {
145
+ title: 'Вы можете оплатить бонусными баллами',
146
+ description: 'Удобный каталог с большим ассортиментом товаров и сервисов',
147
+ context,
148
+ cards: [
149
+ {
150
+ title: 'Более 5000 товаров',
151
+ description:
152
+ 'Время копить: ставка растет в зависимости от срока нахождения средств на Счете!',
153
+ image,
154
+ },
155
+ {
156
+ title: 'Более 1000 развлечений',
157
+ description: 'Порядок и условия предоставления в соответствии с 106 ФЗ',
158
+ image,
159
+ },
160
+ {
161
+ title: 'Фермерские продукты',
162
+ description: 'Высокий процент даже при небольшой сумме денежных средств',
163
+ image,
164
+ },
165
+ {
166
+ title: '«Моя выгода»',
167
+ description:
168
+ 'Время копить: ставка растет в зависимости от срока нахождения средств на Счете!',
169
+ image,
170
+ },
171
+ {
172
+ title: 'Фермерские продукты',
173
+ description: 'Высокий процент даже при небольшой сумме денежных средств',
174
+ image,
175
+ },
176
+ ],
177
+ };
178
+
179
+ const onlyTitleProps: GalleryProps = {
180
+ title: 'Вы можете оплатить бонусными баллами',
181
+ description: 'Удобный каталог с большим ассортиментом товаров и сервисов',
182
+ context,
183
+ cards: [
184
+ {
185
+ title: 'Более 5000 товаров',
186
+ image,
187
+ },
188
+ {
189
+ title: 'Более 1000 развлечений',
190
+ image,
191
+ },
192
+ {
193
+ title: 'Фермерские продукты',
194
+ image,
195
+ },
196
+ {
197
+ title: '«Моя выгода»',
198
+ image,
199
+ },
200
+ {
201
+ title: 'Фермерские продукты',
202
+ image,
203
+ },
204
+ ],
205
+ };
206
+
207
+ export default {
208
+ default: <Gallery {...defaultProps} />,
209
+ 'text and button': <Gallery {...textAndButtonProps} />,
210
+ 'list and button': <Gallery {...listAndButtonProps} />,
211
+ 'text and no button': <Gallery {...textAndNoButtonProps} />,
212
+ 'only title': <Gallery {...onlyTitleProps} />,
213
+ };