@redneckz/wildless-cms-uni-blocks 0.2.46 → 0.2.49

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 (252) hide show
  1. package/README.md +3 -0
  2. package/dist/BenefitsBlock.d.ts +2 -2
  3. package/dist/Blocks.d.ts +15 -0
  4. package/dist/Blocks.js +13 -7
  5. package/dist/Blocks.js.map +1 -1
  6. package/dist/ContentPage.d.ts +2 -2
  7. package/dist/ContentPage.js +3 -3
  8. package/dist/ContentPage.js.map +1 -1
  9. package/dist/ContentPageContext.d.ts +6 -3
  10. package/dist/ExchangeRateTile.d.ts +7 -0
  11. package/dist/ExchangeRateTile.js +32 -0
  12. package/dist/ExchangeRateTile.js.map +1 -0
  13. package/dist/Footer/Contacts.d.ts +2 -2
  14. package/dist/Footer/Footer.d.ts +3 -4
  15. package/dist/Footer/Footer.js.map +1 -1
  16. package/dist/Footer/FooterLink.d.ts +2 -2
  17. package/dist/Footer/Sitemap.d.ts +2 -2
  18. package/dist/Footer/Sitemap.js +8 -5
  19. package/dist/Footer/Sitemap.js.map +1 -1
  20. package/dist/Footer/SocialMedia.d.ts +2 -2
  21. package/dist/Footer/SocialMedia.js +5 -5
  22. package/dist/Footer/SocialMedia.js.map +1 -1
  23. package/dist/Footer/index.d.ts +1 -1
  24. package/dist/Header/Header.d.ts +2 -2
  25. package/dist/Header/Header.js +3 -2
  26. package/dist/Header/Header.js.map +1 -1
  27. package/dist/Icons/DollarIcon.d.ts +1 -0
  28. package/dist/Icons/DollarIcon.js +6 -0
  29. package/dist/Icons/DollarIcon.js.map +1 -0
  30. package/dist/Icons/EuroIcon.d.ts +1 -0
  31. package/dist/Icons/EuroIcon.js +6 -0
  32. package/dist/Icons/EuroIcon.js.map +1 -0
  33. package/dist/Icons/index.d.ts +17 -16
  34. package/dist/Icons/index.js +26 -22
  35. package/dist/Icons/index.js.map +1 -1
  36. package/dist/Img.js +1 -1
  37. package/dist/Img.js.map +1 -1
  38. package/dist/LikeControl.d.ts +2 -2
  39. package/dist/LikeControl.js.map +1 -1
  40. package/dist/MobileAppTile.d.ts +8 -0
  41. package/dist/MobileAppTile.js +9 -0
  42. package/dist/MobileAppTile.js.map +1 -0
  43. package/dist/Placeholder.d.ts +3 -1
  44. package/dist/Placeholder.js +9 -2
  45. package/dist/Placeholder.js.map +1 -1
  46. package/dist/ProductBlock.d.ts +2 -2
  47. package/dist/ProductBlockInner.d.ts +2 -2
  48. package/dist/ProductBlockInner.js +2 -1
  49. package/dist/ProductBlockInner.js.map +1 -1
  50. package/dist/ProductGallery.d.ts +2 -2
  51. package/dist/ProductGallery.js +3 -3
  52. package/dist/ProductGallery.js.map +1 -1
  53. package/dist/ProductTile.d.ts +17 -0
  54. package/dist/ProductTile.js +27 -0
  55. package/dist/ProductTile.js.map +1 -0
  56. package/dist/ProjectSettings.d.ts +18 -0
  57. package/dist/ProjectSettings.js +30 -0
  58. package/dist/ProjectSettings.js.map +1 -0
  59. package/dist/StepsBlock.d.ts +2 -2
  60. package/dist/StepsBlock.js +7 -3
  61. package/dist/StepsBlock.js.map +1 -1
  62. package/dist/Tile.d.ts +2 -2
  63. package/dist/Tile.js +15 -7
  64. package/dist/Tile.js.map +1 -1
  65. package/dist/index.d.ts +6 -3
  66. package/dist/index.js +9 -5
  67. package/dist/index.js.map +1 -1
  68. package/dist/types.d.ts +3 -10
  69. package/dist/ui-kit/SearchBar.d.ts +2 -2
  70. package/dist/ui-kit/SearchBar.js.map +1 -1
  71. package/dist/useSitemap.d.ts +3 -0
  72. package/dist/useSitemap.js +16 -0
  73. package/dist/useSitemap.js.map +1 -0
  74. package/dist/utils/joinList.d.ts +1 -0
  75. package/dist/utils/joinList.js +7 -0
  76. package/dist/utils/joinList.js.map +1 -0
  77. package/lib/BenefitsBlock.d.ts +2 -2
  78. package/lib/Blocks.d.ts +15 -0
  79. package/lib/Blocks.js +10 -4
  80. package/lib/Blocks.js.map +1 -1
  81. package/lib/ContentPage.d.ts +2 -2
  82. package/lib/ContentPage.js +3 -3
  83. package/lib/ContentPage.js.map +1 -1
  84. package/lib/ContentPageContext.d.ts +6 -3
  85. package/lib/ExchangeRateTile.d.ts +7 -0
  86. package/lib/ExchangeRateTile.js +30 -0
  87. package/lib/ExchangeRateTile.js.map +1 -0
  88. package/lib/Footer/Contacts.d.ts +2 -2
  89. package/lib/Footer/Footer.d.ts +3 -4
  90. package/lib/Footer/Footer.js.map +1 -1
  91. package/lib/Footer/FooterLink.d.ts +2 -2
  92. package/lib/Footer/Sitemap.d.ts +2 -2
  93. package/lib/Footer/Sitemap.js +8 -5
  94. package/lib/Footer/Sitemap.js.map +1 -1
  95. package/lib/Footer/SocialMedia.d.ts +2 -2
  96. package/lib/Footer/SocialMedia.js +5 -5
  97. package/lib/Footer/SocialMedia.js.map +1 -1
  98. package/lib/Footer/index.d.ts +1 -1
  99. package/lib/Header/Header.d.ts +2 -2
  100. package/lib/Header/Header.js +3 -2
  101. package/lib/Header/Header.js.map +1 -1
  102. package/lib/Icons/DollarIcon.d.ts +1 -0
  103. package/lib/Icons/DollarIcon.js +3 -0
  104. package/lib/Icons/DollarIcon.js.map +1 -0
  105. package/lib/Icons/EuroIcon.d.ts +1 -0
  106. package/lib/Icons/EuroIcon.js +3 -0
  107. package/lib/Icons/EuroIcon.js.map +1 -0
  108. package/lib/Icons/index.d.ts +17 -16
  109. package/lib/Icons/index.js +17 -16
  110. package/lib/Icons/index.js.map +1 -1
  111. package/lib/Img.js +1 -1
  112. package/lib/Img.js.map +1 -1
  113. package/lib/LikeControl.d.ts +2 -2
  114. package/lib/LikeControl.js.map +1 -1
  115. package/lib/MobileAppTile.d.ts +8 -0
  116. package/lib/MobileAppTile.js +7 -0
  117. package/lib/MobileAppTile.js.map +1 -0
  118. package/lib/Placeholder.d.ts +3 -1
  119. package/lib/Placeholder.js +9 -2
  120. package/lib/Placeholder.js.map +1 -1
  121. package/lib/ProductBlock.d.ts +2 -2
  122. package/lib/ProductBlockInner.d.ts +2 -2
  123. package/lib/ProductBlockInner.js +2 -1
  124. package/lib/ProductBlockInner.js.map +1 -1
  125. package/lib/ProductGallery.d.ts +2 -2
  126. package/lib/ProductGallery.js +3 -3
  127. package/lib/ProductGallery.js.map +1 -1
  128. package/lib/ProductTile.d.ts +17 -0
  129. package/lib/ProductTile.js +25 -0
  130. package/lib/ProductTile.js.map +1 -0
  131. package/lib/ProjectSettings.d.ts +18 -0
  132. package/lib/ProjectSettings.js +28 -0
  133. package/lib/ProjectSettings.js.map +1 -0
  134. package/lib/StepsBlock.d.ts +2 -2
  135. package/lib/StepsBlock.js +7 -3
  136. package/lib/StepsBlock.js.map +1 -1
  137. package/lib/Tile.d.ts +2 -2
  138. package/lib/Tile.js +15 -7
  139. package/lib/Tile.js.map +1 -1
  140. package/lib/common.css +1 -1
  141. package/lib/index.d.ts +6 -3
  142. package/lib/index.js +4 -2
  143. package/lib/index.js.map +1 -1
  144. package/lib/types.d.ts +3 -10
  145. package/lib/ui-kit/SearchBar.d.ts +2 -2
  146. package/lib/ui-kit/SearchBar.js.map +1 -1
  147. package/lib/useSitemap.d.ts +3 -0
  148. package/lib/useSitemap.js +13 -0
  149. package/lib/useSitemap.js.map +1 -0
  150. package/lib/utils/joinList.d.ts +1 -0
  151. package/lib/utils/joinList.js +4 -0
  152. package/lib/utils/joinList.js.map +1 -0
  153. package/package.json +3 -2
  154. package/src/BenefitsBlock.fixture.tsx +34 -0
  155. package/src/BenefitsBlock.tsx +45 -0
  156. package/src/Blocks.ts +39 -0
  157. package/src/ContentPage.fixture.tsx +38 -0
  158. package/src/ContentPage.page.json +680 -0
  159. package/src/ContentPage.tsx +83 -0
  160. package/src/ContentPageContext.tsx +34 -0
  161. package/src/ContentPageHead.tsx +26 -0
  162. package/src/ExchangeRateTile.fixture.tsx +11 -0
  163. package/src/ExchangeRateTile.tsx +80 -0
  164. package/src/Footer/Contacts.tsx +71 -0
  165. package/src/Footer/Footer.fixture.tsx +265 -0
  166. package/src/Footer/Footer.tsx +47 -0
  167. package/src/Footer/FooterLink.ts +6 -0
  168. package/src/Footer/HorizontalNavigation.tsx +46 -0
  169. package/src/Footer/Sitemap.tsx +57 -0
  170. package/src/Footer/SocialMedia.tsx +46 -0
  171. package/src/Footer/TextInformation.tsx +50 -0
  172. package/src/Footer/index.ts +2 -0
  173. package/src/Header/Header.fixture.tsx +21 -0
  174. package/src/Header/Header.tsx +55 -0
  175. package/src/Header/HeaderContent.ts +6 -0
  176. package/src/Header/HeaderSecondaryMenu.tsx +42 -0
  177. package/src/Header/HeaderSecondaryMenuButton.tsx +21 -0
  178. package/src/Header/index.ts +3 -0
  179. package/src/Header/isSubItemActive.ts +9 -0
  180. package/src/Header/isTopItemActive.ts +13 -0
  181. package/src/Icons/ActualBalanceIcon.tsx +202 -0
  182. package/src/Icons/CalendarIcon.tsx +19 -0
  183. package/src/Icons/ClockIcon.tsx +212 -0
  184. package/src/Icons/ComfortableCompIcon.tsx +379 -0
  185. package/src/Icons/DollarIcon.tsx +12 -0
  186. package/src/Icons/EmptyWalletIcon.tsx +25 -0
  187. package/src/Icons/EuroIcon.tsx +12 -0
  188. package/src/Icons/GridIcon.tsx +9 -0
  189. package/src/Icons/LoupeIcon.tsx +11 -0
  190. package/src/Icons/NewDocIcon.tsx +262 -0
  191. package/src/Icons/OkIcon.tsx +8 -0
  192. package/src/Icons/PassSendIcon.tsx +250 -0
  193. package/src/Icons/PercentageSquareIcon.tsx +18 -0
  194. package/src/Icons/ProfileIcon.tsx +18 -0
  195. package/src/Icons/SignDocsIcon.tsx +295 -0
  196. package/src/Icons/TelegramIcon.tsx +8 -0
  197. package/src/Icons/VKIcon.tsx +10 -0
  198. package/src/Icons/index.ts +17 -0
  199. package/src/Img.tsx +22 -0
  200. package/src/LikeControl.fixture.tsx +5 -0
  201. package/src/LikeControl.tsx +23 -0
  202. package/src/MobileAppTile.fixture.tsx +15 -0
  203. package/src/MobileAppTile.tsx +34 -0
  204. package/src/Placeholder.fixture.tsx +5 -0
  205. package/src/Placeholder.tsx +33 -0
  206. package/src/ProductBlock.fixture.tsx +95 -0
  207. package/src/ProductBlock.tsx +15 -0
  208. package/src/ProductBlockInner.tsx +111 -0
  209. package/src/ProductGallery.fixture.tsx +138 -0
  210. package/src/ProductGallery.tsx +88 -0
  211. package/src/ProductTile.fixture.tsx +147 -0
  212. package/src/ProductTile.tsx +95 -0
  213. package/src/ProjectSettings.ts +38 -0
  214. package/src/StepsBlock.fixture.tsx +23 -0
  215. package/src/StepsBlock.tsx +65 -0
  216. package/src/Tile.fixture.tsx +124 -0
  217. package/src/Tile.tsx +89 -0
  218. package/src/api/LikeAPI.ts +141 -0
  219. package/src/common.css +39 -0
  220. package/src/content-page-repository/ContentPageRepository.ts +38 -0
  221. package/src/content-page-repository/TransformationOptions.ts +4 -0
  222. package/src/content-page-repository/index.ts +1 -0
  223. package/src/content-page-repository/mapJSON.spec.ts +28 -0
  224. package/src/content-page-repository/mapJSON.ts +23 -0
  225. package/src/content-page-repository/transformContentPage.ts +26 -0
  226. package/src/content-page-repository/transformMarkdown.ts +10 -0
  227. package/src/content-page-repository/transformPicture.ts +61 -0
  228. package/src/cosmos.decorator.tsx +19 -0
  229. package/src/index.ts +20 -0
  230. package/src/mergeTopItems.spec.ts +20 -0
  231. package/src/mergeTopItems.ts +13 -0
  232. package/src/setup-fixture.ts +49 -0
  233. package/src/types.ts +94 -0
  234. package/src/ui-kit/BlockItem.fixture.tsx +5 -0
  235. package/src/ui-kit/BlockItem.tsx +36 -0
  236. package/src/ui-kit/Breadcrumb.tsx +26 -0
  237. package/src/ui-kit/Button.fixture.tsx +113 -0
  238. package/src/ui-kit/Button.tsx +66 -0
  239. package/src/ui-kit/HeaderItem.fixture.tsx +8 -0
  240. package/src/ui-kit/HeaderItem.tsx +25 -0
  241. package/src/ui-kit/LikeButton.fixture.tsx +6 -0
  242. package/src/ui-kit/LikeButton.tsx +41 -0
  243. package/src/ui-kit/Logo.fixture.tsx +5 -0
  244. package/src/ui-kit/Logo.tsx +35 -0
  245. package/src/ui-kit/SVG.tsx +32 -0
  246. package/src/ui-kit/SearchBar.tsx +33 -0
  247. package/src/ui-kit/TopItem.fixture.tsx +8 -0
  248. package/src/ui-kit/TopItem.tsx +37 -0
  249. package/src/useLink.ts +28 -0
  250. package/src/useSitemap.ts +17 -0
  251. package/src/utils/joinList.ts +7 -0
  252. package/src/utils/url.ts +22 -0
@@ -1,5 +1,5 @@
1
1
  import type { ProductBlockInnerContent } from './ProductBlockInner';
2
- import type { UniBlocksComponentProps } from './types';
2
+ import type { UniBlockProps } from './types';
3
3
  interface ProductGalleryNav {
4
4
  title: string;
5
5
  desc: string;
@@ -12,7 +12,7 @@ export interface ProductGalleryContent {
12
12
  duration?: number;
13
13
  slides?: ProductSlideContent[];
14
14
  }
15
- export interface ProductGalleryProps extends ProductGalleryContent, UniBlocksComponentProps {
15
+ export interface ProductGalleryProps extends ProductGalleryContent, UniBlockProps {
16
16
  }
17
17
  export declare const ProductGallery: (props: import("@redneckz/uni-jsx").PropsWithChildren<ProductGalleryProps, any>, context?: any) => any;
18
18
  export {};
@@ -5,7 +5,7 @@ export const ProductGallery = JSX(({ className, context, duration = 0, slides =
5
5
  const galleryNav = slides.map((s) => s.nav);
6
6
  const galleryBlocks = slides.map((s) => s.productBlock);
7
7
  const [activeSlideIndex, setActiveSlideIndex] = context.useState(0);
8
- return (_jsxs("section", { className: `font-sans bg-white overflow-hidden w-100 ${className || ''}`, children: [_jsx("div", { className: `flex transition duration-1000`, style: { transform: `translateX(-${activeSlideIndex}00%)` }, children: galleryBlocks.map((_, i) => renderProductBlock(_, i, context)) }), _jsx("div", { className: `border-0 border-t border-solid border-main-divider grid grid-cols-${galleryNav.length}`, children: galleryNav.map((slide, i) => renderNavButton({
8
+ return (_jsxs("section", { className: `font-sans bg-white overflow-hidden w-100 ${className || ''}`, children: [_jsx("div", { className: `flex duration-1000`, style: { transform: `translateX(-${activeSlideIndex}00%)` }, role: "list", children: galleryBlocks.map((_, i) => renderProductBlock(_, i, context)) }), _jsx("div", { className: `border-t border-solid border-main-divider flex`, children: galleryNav.map((slide, i) => renderNavButton({
9
9
  slide,
10
10
  i,
11
11
  activeSlideIndex,
@@ -14,12 +14,12 @@ export const ProductGallery = JSX(({ className, context, duration = 0, slides =
14
14
  })) })] }));
15
15
  });
16
16
  function renderProductBlock(block, i, context) {
17
- return (_jsx("section", { className: "grow-0 shrink-0 basis-full", role: "list", children: _jsx("div", { className: "p-11 pr-[7.5rem] ", children: _jsx(ProductBlockInner, { context: context, ...block }) }) }, String(i)));
17
+ return (_jsx("section", { className: "grow-0 shrink-0 basis-full", role: "listitem", children: _jsx("div", { className: "p-11 pr-[7.5rem] ", children: _jsx(ProductBlockInner, { context: context, ...block }) }) }, String(i)));
18
18
  }
19
19
  function renderNavButton({ slide, i, activeSlideIndex, onClick, duration }) {
20
20
  const isActiveBtn = i === activeSlideIndex;
21
21
  const progressBarClassName = isActiveBtn ? 'animate-slide' : '';
22
22
  const btnTitleClassName = isActiveBtn ? 'text-primary-text' : 'text-secondary-text';
23
- return (_jsxs("button", { type: "button", onClick: onClick, className: `group relative overflow-hidden border-0 bg-inherit cursor-pointer text-left px-0 py-4`, children: [_jsxs("div", { className: "border-0 border-r border-solid border-main-divider px-6", children: [_jsx("div", { className: `text-sm font-medium group-hover:text-primary-text ${btnTitleClassName}`, children: slide?.title }), _jsx("div", { className: "text-xs text-secondary-text", children: slide.desc })] }), _jsx("div", { className: `absolute bottom-0 left-0 w-full h-[3px] bg-primary-main -translate-x-full ${progressBarClassName}`, style: { animationDuration: `${duration}s` } })] }, String(i)));
23
+ return (_jsxs("button", { type: "button", onClick: onClick, className: `group relative overflow-hidden border-0 bg-inherit cursor-pointer text-left px-0 py-4 grow basis-0`, children: [_jsxs("div", { className: "border-0 border-r border-solid border-main-divider px-6", children: [_jsx("div", { className: `text-sm font-medium group-hover:text-primary-text ${btnTitleClassName}`, children: slide?.title }), _jsx("div", { className: "text-xs text-secondary-text", children: slide.desc })] }), _jsx("div", { className: `absolute bottom-0 left-0 w-full h-[3px] bg-primary-main -translate-x-full ${progressBarClassName}`, style: { animationDuration: `${duration}s` } })] }, String(i)));
24
24
  }
25
25
  //# sourceMappingURL=ProductGallery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProductGallery.js","sourceRoot":"","sources":["../src/ProductGallery.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAExC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAoBxD,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAC/B,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,GAAG,CAAC,EAAE,MAAM,GAAG,EAAE,EAAE,EAAE,EAAE;IACpD,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC5C,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IACxD,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEpE,OAAO,CACL,mBAAS,SAAS,EAAE,4CAA4C,SAAS,IAAI,EAAE,EAAE,aAC/E,cACE,SAAS,EAAE,+BAA+B,EAC1C,KAAK,EAAE,EAAE,SAAS,EAAE,eAAe,gBAAgB,MAAM,EAAE,YAE1D,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,GAC3D,EAEN,cACE,SAAS,EAAE,qEAAqE,UAAU,CAAC,MAAM,EAAE,YAElG,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAC3B,eAAe,CAAC;oBACd,KAAK;oBACL,CAAC;oBACD,gBAAgB;oBAChB,OAAO,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;oBACrC,QAAQ;iBACT,CAAC,CACH,GACG,IACE,CACX,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,SAAS,kBAAkB,CAAC,KAA+B,EAAE,CAAS,EAAE,OAAO;IAC7E,OAAO,CACL,kBAAyB,SAAS,EAAC,4BAA4B,EAAC,IAAI,EAAC,MAAM,YACzE,cAAK,SAAS,EAAC,mBAAmB,YAChC,KAAC,iBAAiB,IAAC,OAAO,EAAE,OAAO,KAAM,KAAK,GAAI,GAC9C,IAHM,MAAM,CAAC,CAAC,CAAC,CAIb,CACX,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,gBAAgB,EAAE,OAAO,EAAE,QAAQ,EAAE;IACxE,MAAM,WAAW,GAAG,CAAC,KAAK,gBAAgB,CAAC;IAC3C,MAAM,oBAAoB,GAAG,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,MAAM,iBAAiB,GAAG,WAAW,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,qBAAqB,CAAC;IACpF,OAAO,CACL,kBACE,IAAI,EAAC,QAAQ,EAEb,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,uFAAuF,aAElG,eAAK,SAAS,EAAC,yDAAyD,aACtE,cAAK,SAAS,EAAE,qDAAqD,iBAAiB,EAAE,YACrF,KAAK,EAAE,KAAK,GACT,EACN,cAAK,SAAS,EAAC,6BAA6B,YAAE,KAAK,CAAC,IAAI,GAAO,IAC3D,EACN,cACE,SAAS,EAAE,6EAA6E,oBAAoB,EAAE,EAC9G,KAAK,EAAE,EAAE,iBAAiB,EAAE,GAAG,QAAQ,GAAG,EAAE,GACvC,KAbF,MAAM,CAAC,CAAC,CAAC,CAcP,CACV,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ProductGallery.js","sourceRoot":"","sources":["../src/ProductGallery.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAExC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAoBxD,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAC/B,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,GAAG,CAAC,EAAE,MAAM,GAAG,EAAE,EAAE,EAAE,EAAE;IACpD,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC5C,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IACxD,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEpE,OAAO,CACL,mBAAS,SAAS,EAAE,4CAA4C,SAAS,IAAI,EAAE,EAAE,aAC/E,cACE,SAAS,EAAE,oBAAoB,EAC/B,KAAK,EAAE,EAAE,SAAS,EAAE,eAAe,gBAAgB,MAAM,EAAE,EAC3D,IAAI,EAAC,MAAM,YAEV,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,GAC3D,EAEN,cAAK,SAAS,EAAE,gDAAgD,YAC7D,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAC3B,eAAe,CAAC;oBACd,KAAK;oBACL,CAAC;oBACD,gBAAgB;oBAChB,OAAO,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;oBACrC,QAAQ;iBACT,CAAC,CACH,GACG,IACE,CACX,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,SAAS,kBAAkB,CAAC,KAA+B,EAAE,CAAS,EAAE,OAAO;IAC7E,OAAO,CACL,kBAAyB,SAAS,EAAC,4BAA4B,EAAC,IAAI,EAAC,UAAU,YAC7E,cAAK,SAAS,EAAC,mBAAmB,YAChC,KAAC,iBAAiB,IAAC,OAAO,EAAE,OAAO,KAAM,KAAK,GAAI,GAC9C,IAHM,MAAM,CAAC,CAAC,CAAC,CAIb,CACX,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,gBAAgB,EAAE,OAAO,EAAE,QAAQ,EAAE;IACxE,MAAM,WAAW,GAAG,CAAC,KAAK,gBAAgB,CAAC;IAC3C,MAAM,oBAAoB,GAAG,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,MAAM,iBAAiB,GAAG,WAAW,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,qBAAqB,CAAC;IACpF,OAAO,CACL,kBACE,IAAI,EAAC,QAAQ,EAEb,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,oGAAoG,aAE/G,eAAK,SAAS,EAAC,yDAAyD,aACtE,cAAK,SAAS,EAAE,qDAAqD,iBAAiB,EAAE,YACrF,KAAK,EAAE,KAAK,GACT,EACN,cAAK,SAAS,EAAC,6BAA6B,YAAE,KAAK,CAAC,IAAI,GAAO,IAC3D,EACN,cACE,SAAS,EAAE,6EAA6E,oBAAoB,EAAE,EAC9G,KAAK,EAAE,EAAE,iBAAiB,EAAE,GAAG,QAAQ,GAAG,EAAE,GACvC,KAbF,MAAM,CAAC,CAAC,CAAC,CAcP,CACV,CAAC;AACJ,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { ContentPageContext } from './ContentPageContext';
2
+ import { BlockVersion, Picture } from './types';
3
+ import type { ButtonProps } from './ui-kit/Button';
4
+ import type { Benefit } from './types';
5
+ export interface ProductTileContent {
6
+ title?: string;
7
+ description?: string;
8
+ benefits?: Benefit[];
9
+ image?: Picture;
10
+ button?: ButtonProps;
11
+ version?: BlockVersion;
12
+ }
13
+ export interface ProductTileProps extends ProductTileContent {
14
+ className?: string;
15
+ context: ContentPageContext;
16
+ }
17
+ export declare const ProductTile: (props: import("@redneckz/uni-jsx").PropsWithChildren<ProductTileProps, any>, context?: any) => any;
@@ -0,0 +1,25 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
2
+ import { JSX } from '@redneckz/uni-jsx';
3
+ import { Img } from './Img.js';
4
+ import { Button } from './ui-kit/Button.js';
5
+ import { useLink } from './useLink.js';
6
+ const productTileStyleMap = {
7
+ primary: 'bg-white text-primary-text',
8
+ secondary: 'bg-primary-main text-white',
9
+ };
10
+ export const ProductTile = JSX(({ className, context, title, description, button, image, benefits, version = 'primary' }) => {
11
+ const router = context.useRouter();
12
+ const { handlerDecorator } = context;
13
+ return (_jsx("section", { className: `font-sans p-9 ${className || ''} ${productTileStyleMap[version]}`, children: _jsxs("div", { className: "flex flex-col w-full", children: [title && (_jsx("h3", { className: "font-medium text-title-sm m-0 whitespace-pre-wrap max-w-[600px]", children: title })), description && (_jsx("div", { className: "font-normal text-base max-w-[600px] mt-4", children: description })), _jsxs("div", { className: "flex mt-5", children: [_jsxs("div", { className: "grow flex flex-col", children: [_jsxs("div", { className: "flex", children: [benefits?.length ? (_jsx("div", { className: "mr-8", children: benefits.map(renderBenefitDescription) })) : null, benefits?.length ? (_jsx("div", { className: "pt-1", children: benefits.map((_, i) => renderBenefitLabel(_, i, version)) })) : null] }), button?.text && (_jsx("div", { className: "mt-auto", children: _jsx(Button, { className: "mt-8", ...useLink({ router, handlerDecorator }, button), version: "secondary" }) }))] }), image && (_jsx("div", { className: "mt-auto flex-none h-[220px] w-[220px]", children: _jsx(Img, { image: image }) }))] })] }) }));
14
+ });
15
+ function renderBenefitLabel(benefit, i, version = 'primary') {
16
+ const labelStyleMap = {
17
+ primary: 'text-secondary-text',
18
+ secondary: 'text-white',
19
+ };
20
+ return (_jsx("div", { className: `text-sm mb-4 ${labelStyleMap[version]}`, children: benefit.label }, String(i)));
21
+ }
22
+ function renderBenefitDescription(benefit, i) {
23
+ return (_jsx("div", { className: "text-xl font-medium mb-2.5", children: benefit.description }, String(i)));
24
+ }
25
+ //# sourceMappingURL=ProductTile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProductTile.js","sourceRoot":"","sources":["../src/ProductTile.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAExC,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAG5B,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiBpC,MAAM,mBAAmB,GAAiC;IACxD,OAAO,EAAE,4BAA4B;IACrC,SAAS,EAAE,4BAA4B;CACxC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAC5B,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,GAAG,SAAS,EAAE,EAAE,EAAE;IAC3F,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IACnC,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC;IACrC,OAAO,CACL,kBAAS,SAAS,EAAE,iBAAiB,SAAS,IAAI,EAAE,IAAI,mBAAmB,CAAC,OAAO,CAAC,EAAE,YACpF,eAAK,SAAS,EAAC,sBAAsB,aAClC,KAAK,IAAI,CACR,aAAI,SAAS,EAAC,iEAAiE,YAC5E,KAAK,GACH,CACN,EACA,WAAW,IAAI,CACd,cAAK,SAAS,EAAC,0CAA0C,YAAE,WAAW,GAAO,CAC9E,EACD,eAAK,SAAS,EAAC,WAAW,aACxB,eAAK,SAAS,EAAC,oBAAoB,aACjC,eAAK,SAAS,EAAC,MAAM,aAClB,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAClB,cAAK,SAAS,EAAC,MAAM,YAAE,QAAQ,CAAC,GAAG,CAAC,wBAAwB,CAAC,GAAO,CACrE,CAAC,CAAC,CAAC,IAAI,EACP,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAClB,cAAK,SAAS,EAAC,MAAM,YAClB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,GACtD,CACP,CAAC,CAAC,CAAC,IAAI,IACJ,EACL,MAAM,EAAE,IAAI,IAAI,CACf,cAAK,SAAS,EAAC,SAAS,YACtB,KAAC,MAAM,IACL,SAAS,EAAC,MAAM,KACZ,OAAO,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,MAAM,CAAC,EACjD,OAAO,EAAC,WAAW,GACnB,GACE,CACP,IACG,EACL,KAAK,IAAI,CACR,cAAK,SAAS,EAAC,uCAAuC,YACpD,KAAC,GAAG,IAAC,KAAK,EAAE,KAAK,GAAI,GACjB,CACP,IACG,IACF,GACE,CACX,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,SAAS,kBAAkB,CAAC,OAAgB,EAAE,CAAS,EAAE,OAAO,GAAG,SAAS;IAC1E,MAAM,aAAa,GAAiC;QAClD,OAAO,EAAE,qBAAqB;QAC9B,SAAS,EAAE,YAAY;KACxB,CAAC;IACF,OAAO,CACL,cAAqB,SAAS,EAAE,gBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE,YACrE,OAAO,CAAC,KAAK,IADN,MAAM,CAAC,CAAC,CAAC,CAEb,CACP,CAAC;AACJ,CAAC;AACD,SAAS,wBAAwB,CAAC,OAAgB,EAAE,CAAS;IAC3D,OAAO,CACL,cAAqB,SAAS,EAAC,4BAA4B,YACxD,OAAO,CAAC,WAAW,IADZ,MAAM,CAAC,CAAC,CAAC,CAEb,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,18 @@
1
+ export interface ProjectSettings {
2
+ TEST_BRANCH?: string;
3
+ RC_BRANCH?: string;
4
+ PROD_BRANCH: string;
5
+ FORCED_DRAFT_FLOW: boolean;
6
+ ENABLE_ASSIST?: boolean;
7
+ SITEMAP?: string;
8
+ }
9
+ export declare const projectSettings: {
10
+ _: ProjectSettings;
11
+ setup(_: ProjectSettings): void;
12
+ readonly TEST_BRANCH: string | undefined;
13
+ readonly RC_BRANCH: string | undefined;
14
+ readonly PROD_BRANCH: string;
15
+ readonly FORCED_DRAFT_FLOW: boolean;
16
+ readonly ENABLE_ASSIST: boolean | undefined;
17
+ readonly SITEMAP: string | undefined;
18
+ };
@@ -0,0 +1,28 @@
1
+ export const projectSettings = new (class {
2
+ _ = {
3
+ PROD_BRANCH: 'master',
4
+ FORCED_DRAFT_FLOW: false,
5
+ };
6
+ setup(_) {
7
+ this._ = _;
8
+ }
9
+ get TEST_BRANCH() {
10
+ return this._.TEST_BRANCH;
11
+ }
12
+ get RC_BRANCH() {
13
+ return this._.RC_BRANCH;
14
+ }
15
+ get PROD_BRANCH() {
16
+ return this._.PROD_BRANCH;
17
+ }
18
+ get FORCED_DRAFT_FLOW() {
19
+ return this._.FORCED_DRAFT_FLOW;
20
+ }
21
+ get ENABLE_ASSIST() {
22
+ return this._.ENABLE_ASSIST;
23
+ }
24
+ get SITEMAP() {
25
+ return this._.SITEMAP;
26
+ }
27
+ })();
28
+ //# sourceMappingURL=ProjectSettings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProjectSettings.js","sourceRoot":"","sources":["../src/ProjectSettings.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC;IAClC,CAAC,GAAoB;QACnB,WAAW,EAAE,QAAQ;QACrB,iBAAiB,EAAE,KAAK;KACzB,CAAC;IAEF,KAAK,CAAC,CAAkB;QACtB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;IAC5B,CAAC;IACD,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1B,CAAC;IACD,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;IAC5B,CAAC;IACD,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC;IAClC,CAAC;IACD,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC;IAC9B,CAAC;IACD,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;IACxB,CAAC;CACF,CAAC,EAAE,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { UniBlocksComponentProps } from './types';
1
+ import type { UniBlockProps } from './types';
2
2
  declare const ICONS: {
3
3
  NewDocIcon: (props?: Record<string, any> | undefined) => any;
4
4
  PassSendIcon: (props?: Record<string, any> | undefined) => any;
@@ -13,7 +13,7 @@ export interface StepsBlockContent {
13
13
  title?: string;
14
14
  steps?: Step[];
15
15
  }
16
- export interface StepsBlockProps extends StepsBlockContent, UniBlocksComponentProps {
16
+ export interface StepsBlockProps extends StepsBlockContent, UniBlockProps {
17
17
  }
18
18
  export declare const StepsBlock: (props: import("@redneckz/uni-jsx").PropsWithChildren<StepsBlockProps, any>, context?: any) => any;
19
19
  export {};
package/lib/StepsBlock.js CHANGED
@@ -1,11 +1,15 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
2
2
  import { JSX } from '@redneckz/uni-jsx';
3
3
  import { NewDocIcon, PassSendIcon, ActualBalanceIcon } from './Icons/index.js';
4
+ import { joinList } from './utils/joinList.js';
4
5
  const ICONS = { NewDocIcon, PassSendIcon, ActualBalanceIcon };
5
6
  export const StepsBlock = JSX(({ className, title, steps }) => {
6
- return (_jsxs("section", { className: `font-sans text-primary-text bg-white px-12 py-12 flex flex-col items-center ${className || ''}`, children: [_jsx("h2", { className: "font-medium text-title m-0 max-w-[47rem] text-center", children: title }), steps?.length ? _jsx("div", { className: "flex mt-9", children: steps.map(renderStep) }) : null] }));
7
+ return (_jsxs("section", { className: `font-sans text-primary-text bg-white px-12 py-12 flex flex-col items-center ${className || ''}`, children: [_jsx("h2", { className: "font-medium text-title m-0 max-w-[47rem] text-center", children: title }), steps?.length ? (_jsxs("div", { children: [_jsx("div", { className: "flex mt-9 items-center px-[88px]", children: joinList(_jsx("div", { className: "h-0.5 w-full bg-secondary-light" }))(steps.map((step, i) => renderStepIcon(step, i))) }), _jsx("div", { className: "flex mt-9 justify-between gap-x-24", children: steps.map(renderStepTitle) })] })) : null] }));
7
8
  });
8
- const renderStep = (step, i) => {
9
- return (_jsxs("div", { className: "flex flex-col items-center text-center px-12 relative after:content-[''] last:after:content-none after:bg-secondary-light after:absolute after:top-[50px] after:h-0.5 after:w-full after:right-[-50%]", children: [_jsx("div", { className: "h-[100px] w-[100px] min-w-[100px] min-h-[100px] bg-secondary-light rounded-full p-[26px] box-border z-10", children: (step.icon && ICONS[step.icon]?.({ width: 48, height: 48 })) || (_jsx("span", { className: "font-medium text-title-sm text-secondary-text", children: i + 1 })) }), _jsxs("div", { className: "max-w-min", children: [_jsx("h5", { className: "font-medium text-xl m-0 mt-4 whitespace-nowrap px-3", children: step.label }), step.description && (_jsx("div", { className: "font-normal text-sm text-secondary-text mt-2", children: step.description }))] })] }, String(i)));
9
+ const renderStepIcon = (step, i) => {
10
+ return (_jsx("div", { className: "flex flex-col items-center text-center relative", children: _jsx("div", { className: "h-[100px] w-[100px] min-w-[100px] min-h-[100px] bg-secondary-light rounded-full p-[26px] box-border z-10", children: (step.icon && ICONS[step.icon]?.({ width: 48, height: 48 })) || (_jsx("span", { className: "font-medium text-title-sm text-secondary-text", children: i + 1 })) }) }, String(i)));
11
+ };
12
+ const renderStepTitle = (step, i) => {
13
+ return (_jsx("div", { className: "flex flex-col items-center text-center relative w-[276px]", children: _jsxs("div", { className: "max-w-min", children: [_jsx("h5", { className: "font-medium text-xl m-0 mt-4 whitespace-nowrap px-3", children: step.label }), step.description && (_jsx("div", { className: "font-normal text-sm text-secondary-text mt-2", children: step.description }))] }) }, String(i)));
10
14
  };
11
15
  //# sourceMappingURL=StepsBlock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StepsBlock.js","sourceRoot":"","sources":["../src/StepsBlock.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAG5E,MAAM,KAAK,GAAG,EAAE,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAAE,CAAC;AAc9D,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAkB,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;IAC7E,OAAO,CACL,mBACE,SAAS,EAAE,+EACT,SAAS,IAAI,EACf,EAAE,aAEF,aAAI,SAAS,EAAC,sDAAsD,YAAE,KAAK,GAAM,EAChF,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,cAAK,SAAS,EAAC,WAAW,YAAE,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,GAAO,CAAC,CAAC,CAAC,IAAI,IACxE,CACX,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,UAAU,GAAG,CAAC,IAAU,EAAE,CAAS,EAAE,EAAE;IAC3C,OAAO,CACL,eAEE,SAAS,EAAC,uMAAuM,aAEjN,cAAK,SAAS,EAAC,0GAA0G,YACtH,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAC/D,eAAM,SAAS,EAAC,+CAA+C,YAAE,CAAC,GAAG,CAAC,GAAQ,CAC/E,GACG,EACN,eAAK,SAAS,EAAC,WAAW,aACxB,aAAI,SAAS,EAAC,qDAAqD,YAAE,IAAI,CAAC,KAAK,GAAM,EACpF,IAAI,CAAC,WAAW,IAAI,CACnB,cAAK,SAAS,EAAC,8CAA8C,YAAE,IAAI,CAAC,WAAW,GAAO,CACvF,IACG,KAbD,MAAM,CAAC,CAAC,CAAC,CAcV,CACP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"StepsBlock.js","sourceRoot":"","sources":["../src/StepsBlock.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAE5E,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,MAAM,KAAK,GAAG,EAAE,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAAE,CAAC;AAc9D,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAkB,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;IAC7E,OAAO,CACL,mBACE,SAAS,EAAE,+EACT,SAAS,IAAI,EACf,EAAE,aAEF,aAAI,SAAS,EAAC,sDAAsD,YAAE,KAAK,GAAM,EAChF,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CACf,0BACE,cAAK,SAAS,EAAC,kCAAkC,YAC9C,QAAQ,CAAC,cAAK,SAAS,EAAC,iCAAiC,GAAO,CAAC,CAChE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAChD,GACG,EACN,cAAK,SAAS,EAAC,oCAAoC,YAAE,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,GAAO,IAClF,CACP,CAAC,CAAC,CAAC,IAAI,IACA,CACX,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,CAAC,IAAU,EAAE,CAAS,EAAE,EAAE;IAC/C,OAAO,CACL,cAAqB,SAAS,EAAC,iDAAiD,YAC9E,cAAK,SAAS,EAAC,0GAA0G,YACtH,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAC/D,eAAM,SAAS,EAAC,+CAA+C,YAAE,CAAC,GAAG,CAAC,GAAQ,CAC/E,GACG,IALE,MAAM,CAAC,CAAC,CAAC,CAMb,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,IAAU,EAAE,CAAS,EAAE,EAAE;IAChD,OAAO,CACL,cAAqB,SAAS,EAAC,2DAA2D,YACxF,eAAK,SAAS,EAAC,WAAW,aACxB,aAAI,SAAS,EAAC,qDAAqD,YAAE,IAAI,CAAC,KAAK,GAAM,EACpF,IAAI,CAAC,WAAW,IAAI,CACnB,cAAK,SAAS,EAAC,8CAA8C,YAAE,IAAI,CAAC,WAAW,GAAO,CACvF,IACG,IANE,MAAM,CAAC,CAAC,CAAC,CAOb,CACP,CAAC;AACJ,CAAC,CAAC"}
package/lib/Tile.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { BlockVersion, Picture, UniBlocksComponentProps } from './types';
1
+ import type { BlockVersion, Picture, UniBlockProps } from './types';
2
2
  import type { ButtonProps } from './ui-kit/Button';
3
3
  export interface TileContent {
4
4
  title?: string;
@@ -8,6 +8,6 @@ export interface TileContent {
8
8
  button?: ButtonProps;
9
9
  version?: BlockVersion;
10
10
  }
11
- export interface TileProps extends TileContent, UniBlocksComponentProps {
11
+ export interface TileProps extends TileContent, UniBlockProps {
12
12
  }
13
13
  export declare const Tile: (props: import("@redneckz/uni-jsx").PropsWithChildren<TileProps, any>, context?: any) => any;
package/lib/Tile.js CHANGED
@@ -9,18 +9,26 @@ const tileStyleMap = {
9
9
  secondary: 'bg-primary-main text-white',
10
10
  };
11
11
  const TITLE_CLASSES = 'font-medium m-0 whitespace-pre-wrap max-w-[600px]';
12
- export const Tile = JSX(({ className, context, title, description, button, image, items, version = 'primary' }) => {
12
+ export const Tile = JSX(({ className, context, title, description, children, button, image, items, version = 'primary', }) => {
13
13
  const router = context.useRouter();
14
14
  const { handlerDecorator } = context;
15
- return (_jsx("section", { className: `font-sans p-9 flex justify-between items-stretch relative ${className || ''} ${tileStyleMap[version]}`, children: _jsxs("div", { className: "flex flex-col w-full", children: [title && renderTitle(title, className), _jsxs("div", { className: "flex justify-between h-full", children: [_jsxs("div", { className: "flex flex-col", children: [description && (_jsx("div", { className: "font-normal text-base max-w-[600px] mt-4", children: description })), items?.length ? (_jsx("section", { className: "space-y-2.5 mt-5 max-w-[600px]", role: "list", children: items.map((_, i) => (_jsx(BlockItem, { text: _, version: version }, String(i)))) })) : null, button?.text && (_jsx("div", { className: "mt-auto", children: _jsx(Button, { className: "mt-8", ...useLink({ router, handlerDecorator }, button), version: "secondary" }) }))] }), image?.src && (_jsx("div", { className: "mt-auto flex-none h-[220px] w-[220px]", children: _jsx(Img, { image: image }) }))] })] }) }));
15
+ return (_jsxs("section", { className: `flex flex-col font-sans p-9 ${className || ''} ${tileStyleMap[version]}`, children: [title && renderTitle(title, className), _jsxs("div", { className: "grow flex justify-between mt-6", children: [_jsxs("div", { className: "flex flex-col justify-between items-start", children: [description || children ? (_jsx("div", { className: "font-normal text-base max-w-[600px]", children: description || children })) : (renderItems(items, version)), button?.text && (_jsx(Button, { className: "mt-6", ...useLink({ router, handlerDecorator }, button), version: "secondary" }))] }), image?.src && _jsx(Img, { className: "mt-auto h-[220px] w-[220px]", image: image })] })] }));
16
16
  });
17
- const renderTitle = (title, className = '') => {
18
- if (className.includes('col-span-4')) {
17
+ function renderTitle(title, className = '') {
18
+ const colSpanPrefix = 'col-span-';
19
+ const colSpanStr = className.split(/\s+/).find((_) => _.startsWith(colSpanPrefix));
20
+ const colSpan = colSpanStr ? parseInt(colSpanStr.substring(colSpanPrefix.length), 10) : 12;
21
+ if (colSpan <= 4) {
19
22
  return _jsx("h3", { className: `${TITLE_CLASSES} text-title-xs`, children: title });
20
23
  }
21
- if (className.includes('col-span-6') || className.includes('col-span-8')) {
24
+ else if (colSpan <= 8) {
22
25
  return _jsx("h3", { className: `${TITLE_CLASSES} text-title-sm`, children: title });
23
26
  }
24
- return _jsx("h2", { className: `${TITLE_CLASSES} text-title`, children: title });
25
- };
27
+ else {
28
+ return _jsx("h2", { className: `${TITLE_CLASSES} text-title`, children: title });
29
+ }
30
+ }
31
+ function renderItems(items, version) {
32
+ return items?.length ? (_jsx("section", { className: "max-w-[600px]", role: "list", children: items.map((_, i) => (_jsx(BlockItem, { className: i ? 'mt-2.5' : '', text: _, version: version }, String(i)))) })) : null;
33
+ }
26
34
  //# sourceMappingURL=Tile.js.map
package/lib/Tile.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Tile.js","sourceRoot":"","sources":["../src/Tile.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5B,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAapC,MAAM,YAAY,GAAiC;IACjD,OAAO,EAAE,4BAA4B;IACrC,SAAS,EAAE,4BAA4B;CACxC,CAAC;AAEF,MAAM,aAAa,GAAG,mDAAmD,CAAC;AAE1E,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,CACrB,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,GAAG,SAAS,EAAE,EAAE,EAAE;IACxF,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IACnC,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC;IACrC,OAAO,CACL,kBACE,SAAS,EAAE,6DAA6D,SAAS,IAAI,EAAE,IACrF,YAAY,CAAC,OAAO,CACtB,EAAE,YAEF,eAAK,SAAS,EAAC,sBAAsB,aAClC,KAAK,IAAI,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,EACvC,eAAK,SAAS,EAAC,6BAA6B,aAC1C,eAAK,SAAS,EAAC,eAAe,aAC3B,WAAW,IAAI,CACd,cAAK,SAAS,EAAC,0CAA0C,YAAE,WAAW,GAAO,CAC9E,EACA,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CACf,kBAAS,SAAS,EAAC,gCAAgC,EAAC,IAAI,EAAC,MAAM,YAC5D,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACnB,KAAC,SAAS,IAAiB,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,IAApC,MAAM,CAAC,CAAC,CAAC,CAA+B,CACzD,CAAC,GACM,CACX,CAAC,CAAC,CAAC,IAAI,EACP,MAAM,EAAE,IAAI,IAAI,CACf,cAAK,SAAS,EAAC,SAAS,YACtB,KAAC,MAAM,IACL,SAAS,EAAC,MAAM,KACZ,OAAO,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,MAAM,CAAC,EACjD,OAAO,EAAC,WAAW,GACnB,GACE,CACP,IACG,EACL,KAAK,EAAE,GAAG,IAAI,CACb,cAAK,SAAS,EAAC,uCAAuC,YACpD,KAAC,GAAG,IAAC,KAAK,EAAE,KAAK,GAAI,GACjB,CACP,IACG,IACF,GACE,CACX,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,KAAa,EAAE,YAAoB,EAAE,EAAE,EAAE;IAC5D,IAAI,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;QACpC,OAAO,aAAI,SAAS,EAAE,GAAG,aAAa,gBAAgB,YAAG,KAAK,GAAM,CAAC;KACtE;IAED,IAAI,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;QACxE,OAAO,aAAI,SAAS,EAAE,GAAG,aAAa,gBAAgB,YAAG,KAAK,GAAM,CAAC;KACtE;IAED,OAAO,aAAI,SAAS,EAAE,GAAG,aAAa,aAAa,YAAG,KAAK,GAAM,CAAC;AACpE,CAAC,CAAC"}
1
+ {"version":3,"file":"Tile.js","sourceRoot":"","sources":["../src/Tile.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5B,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAapC,MAAM,YAAY,GAAiC;IACjD,OAAO,EAAE,4BAA4B;IACrC,SAAS,EAAE,4BAA4B;CACxC,CAAC;AAEF,MAAM,aAAa,GAAG,mDAAmD,CAAC;AAE1E,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,CACrB,CAAC,EACC,SAAS,EACT,OAAO,EACP,KAAK,EACL,WAAW,EACX,QAAQ,EACR,MAAM,EACN,KAAK,EACL,KAAK,EACL,OAAO,GAAG,SAAS,GACpB,EAAE,EAAE;IACH,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IACnC,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC;IACrC,OAAO,CACL,mBACE,SAAS,EAAE,+BAA+B,SAAS,IAAI,EAAE,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,aAEnF,KAAK,IAAI,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,EACvC,eAAK,SAAS,EAAC,gCAAgC,aAC7C,eAAK,SAAS,EAAC,2CAA2C,aACvD,WAAW,IAAI,QAAQ,CAAC,CAAC,CAAC,CACzB,cAAK,SAAS,EAAC,qCAAqC,YAAE,WAAW,IAAI,QAAQ,GAAO,CACrF,CAAC,CAAC,CAAC,CACF,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAC5B,EACA,MAAM,EAAE,IAAI,IAAI,CACf,KAAC,MAAM,IACL,SAAS,EAAC,MAAM,KACZ,OAAO,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,MAAM,CAAC,EACjD,OAAO,EAAC,WAAW,GACnB,CACH,IACG,EACL,KAAK,EAAE,GAAG,IAAI,KAAC,GAAG,IAAC,SAAS,EAAC,6BAA6B,EAAC,KAAK,EAAE,KAAK,GAAI,IACxE,IACE,CACX,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,SAAS,WAAW,CAAC,KAAa,EAAE,YAAoB,EAAE;IACxD,MAAM,aAAa,GAAG,WAAW,CAAC;IAClC,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;IACnF,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3F,IAAI,OAAO,IAAI,CAAC,EAAE;QAChB,OAAO,aAAI,SAAS,EAAE,GAAG,aAAa,gBAAgB,YAAG,KAAK,GAAM,CAAC;KACtE;SAAM,IAAI,OAAO,IAAI,CAAC,EAAE;QACvB,OAAO,aAAI,SAAS,EAAE,GAAG,aAAa,gBAAgB,YAAG,KAAK,GAAM,CAAC;KACtE;SAAM;QACL,OAAO,aAAI,SAAS,EAAE,GAAG,aAAa,aAAa,YAAG,KAAK,GAAM,CAAC;KACnE;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAgB,EAAE,OAAsB;IAC3D,OAAO,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CACrB,kBAAS,SAAS,EAAC,eAAe,EAAC,IAAI,EAAC,MAAM,YAC3C,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACnB,KAAC,SAAS,IAAiB,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,IAAlE,MAAM,CAAC,CAAC,CAAC,CAA6D,CACvF,CAAC,GACM,CACX,CAAC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC"}
package/lib/common.css CHANGED
@@ -1 +1 @@
1
- @import "../fonts/ubuntu/ubuntu.css";[data-theme=pc]{--color-primary-main:#42ab44;--color-primary-hover:#248341;--color-primary-active:#245f34;--color-secondary-hover:#c5e2c6;--color-secondary-active:#d8f2d9}[data-theme=bc]{--color-primary-main:#83b83e;--color-primary-hover:#5c921d;--color-primary-active:#3c5e10;--color-secondary-hover:#e8f4d9;--color-secondary-active:#d8e3ca}[data-theme=eo]{--color-primary-main:#ddb63d;--color-primary-hover:#bb9727;--color-primary-active:#7e630c;--color-secondary-hover:#f1ecdd;--color-secondary-active:#e5dec7}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.absolute{position:absolute}.relative{position:relative}.sticky{position:-webkit-sticky;position:sticky}.top-4{top:1rem}.right-4{right:1rem}.bottom-0{bottom:0}.right-0{right:0}.left-0{left:0}.-bottom-2{bottom:-.5rem}.top-0{top:0}.z-10{z-index:10}.col-span-12{grid-column:span 12/span 12}.col-span-8{grid-column:span 8/span 8}.col-span-4{grid-column:span 4/span 4}.col-span-6{grid-column:span 6/span 6}.m-0{margin:0}.mx-2{margin-left:.5rem;margin-right:.5rem}.my-4{margin-bottom:1rem;margin-top:1rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mt-9{margin-top:2.25rem}.mt-2{margin-top:.5rem}.mb-6{margin-bottom:1.5rem}.mt-4{margin-top:1rem}.mt-7{margin-top:1.75rem}.mt-5{margin-top:1.25rem}.mt-auto{margin-top:auto}.mt-8{margin-top:2rem}.mb-4{margin-bottom:1rem}.mr-8{margin-right:2rem}.ml-auto{margin-left:auto}.mr-5{margin-right:1.25rem}.mr-7{margin-right:1.75rem}.ml-2\.5{margin-left:.625rem}.ml-2{margin-left:.5rem}.box-border{box-sizing:border-box}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.h-\[70px\]{height:70px}.h-8{height:2rem}.h-full{height:100%}.h-\[50px\]{height:50px}.h-\[3px\]{height:3px}.h-\[100px\]{height:100px}.h-\[220px\]{height:220px}.h-\[1px\]{height:1px}.h-\[8px\]{height:8px}.h-\[2px\]{height:2px}.h-\[24px\]{height:24px}.min-h-\[70px\]{min-height:70px}.min-h-\[50px\]{min-height:50px}.min-h-\[100px\]{min-height:100px}.min-h-\[32px\]{min-height:32px}.min-h-\[8px\]{min-height:8px}.w-\[70px\]{width:70px}.w-full{width:100%}.w-8{width:2rem}.w-\[125px\]{width:125px}.w-\[50px\]{width:50px}.w-\[100px\]{width:100px}.w-\[220px\]{width:220px}.w-\[280px\]{width:280px}.w-\[235px\]{width:235px}.w-\[24px\]{width:24px}.w-\[8px\]{width:8px}.w-\[36px\]{width:36px}.w-10{width:2.5rem}.min-w-\[70px\]{min-width:70px}.min-w-\[50px\]{min-width:50px}.min-w-\[100px\]{min-width:100px}.min-w-\[32px\]{min-width:32px}.min-w-\[8px\]{min-width:8px}.max-w-\[47rem\]{max-width:47rem}.max-w-\[580px\]{max-width:580px}.max-w-\[600px\]{max-width:600px}.max-w-min{max-width:-webkit-min-content;max-width:-moz-min-content;max-width:min-content}.max-w-\[292px\]{max-width:292px}.max-w-\[170px\]{max-width:170px}.flex-none{flex:none}.shrink-0{flex-shrink:0}.grow-0{flex-grow:0}.grow{flex-grow:1}.basis-full{flex-basis:100%}.-translate-x-full{--tw-translate-x:-100%}.-translate-x-full,.rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@-webkit-keyframes progress{0%{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes progress{0%{transform:translateX(-100%)}to{transform:translateX(0)}}.animate-slide{-webkit-animation:progress linear;animation:progress linear}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-5{gap:1.25rem}.gap-1{gap:.25rem}.gap-3{gap:.75rem}.gap-6{gap:1.5rem}.gap-4{gap:1rem}.gap-32{gap:8rem}.gap-11{gap:2.75rem}.gap-\[14px\]{gap:14px}.gap-2{gap:.5rem}.gap-3\.5{gap:.875rem}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.625rem*var(--tw-space-y-reverse));margin-top:calc(.625rem*(1 - var(--tw-space-y-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.rounded-full{border-radius:9999px}.rounded-md{border-radius:.375rem}.rounded-3xl{border-radius:1.5rem}.rounded-l-full{border-bottom-left-radius:9999px;border-top-left-radius:9999px}.rounded-r-full{border-bottom-right-radius:9999px;border-top-right-radius:9999px}.rounded-tl-lg{border-top-left-radius:.5rem}.rounded-bl-3xl{border-bottom-left-radius:1.5rem}.rounded-br-3xl{border-bottom-right-radius:1.5rem}.border{border-width:1px}.border-2{border-width:2px}.border-0{border-width:0}.border-x-0{border-left-width:0;border-right-width:0}.border-t{border-top-width:1px}.border-r{border-right-width:1px}.border-solid{border-style:solid}.border-none{border-style:none}.border-main{--tw-border-opacity:1;border-color:rgb(240 244 240/var(--tw-border-opacity))}.border-main-divider{--tw-border-opacity:1;border-color:rgb(235 237 240/var(--tw-border-opacity))}.border-primary-main{border-color:var(--color-primary-main)}.border-transparent{border-color:transparent}.border-y-main-divider{--tw-border-opacity:1;border-bottom-color:rgb(235 237 240/var(--tw-border-opacity));border-top-color:rgb(235 237 240/var(--tw-border-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-main{--tw-bg-opacity:1;background-color:rgb(240 244 240/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-inherit{background-color:inherit}.bg-primary-main{background-color:var(--color-primary-main)}.bg-secondary-light{--tw-bg-opacity:1;background-color:rgb(245 247 249/var(--tw-bg-opacity))}.bg-main-divider{--tw-bg-opacity:1;background-color:rgb(235 237 240/var(--tw-bg-opacity))}.bg-secondary-dark{--tw-bg-opacity:1;background-color:rgb(226 228 229/var(--tw-bg-opacity))}.p-12{padding:3rem}.p-10{padding:2.5rem}.p-20{padding:5rem}.p-2{padding:.5rem}.p-11{padding:2.75rem}.p-\[10px\]{padding:10px}.p-\[26px\]{padding:26px}.p-9{padding:2.25rem}.p-0{padding:0}.px-0{padding-left:0;padding-right:0}.py-4{padding-bottom:1rem;padding-top:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-12{padding-left:3rem;padding-right:3rem}.py-12{padding-bottom:3rem;padding-top:3rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-9{padding-left:2.25rem;padding-right:2.25rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-8{padding-bottom:2rem;padding-top:2rem}.py-5{padding-bottom:1.25rem;padding-top:1.25rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.py-\[5px\]{padding-bottom:5px;padding-top:5px}.px-20{padding-left:5rem;padding-right:5rem}.py-3\.5{padding-bottom:.875rem;padding-top:.875rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-4{padding-left:1rem;padding-right:1rem}.pb-2{padding-bottom:.5rem}.pt-0{padding-top:0}.pr-\[7\.5rem\]{padding-right:7.5rem}.pr-28{padding-right:7rem}.pt-\[3px\]{padding-top:3px}.pt-\[5px\]{padding-top:5px}.pt-5{padding-top:1.25rem}.pb-8{padding-bottom:2rem}.pl-4{padding-left:1rem}.pl-\[170px\]{padding-left:170px}.text-left{text-align:left}.text-center{text-align:center}.font-sans{font-family:Ubuntu,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.text-title{font-size:2rem;line-height:2.5rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.375rem}.text-xs{font-size:.75rem;line-height:1.125rem}.text-title-lg{font-size:2.5rem;line-height:3rem}.text-base{font-size:1rem;line-height:1.25rem}.text-title-sm{font-size:1.75rem;line-height:2.5rem}.text-title-xs{font-size:1.5rem;line-height:1.875rem}.font-medium{font-weight:500}.font-normal{font-weight:400}.text-primary-text{--tw-text-opacity:1;color:rgb(28 28 28/var(--tw-text-opacity))}.text-secondary-text{--tw-text-opacity:1;color:rgb(125 126 127/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-main{--tw-text-opacity:1;color:rgb(240 244 240/var(--tw-text-opacity))}.text-primary-main{color:var(--color-primary-main)}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.no-underline{-webkit-text-decoration-line:none;text-decoration-line:none}.outline-none{outline:2px solid transparent;outline-offset:2px}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-1000{transition-duration:1s}.rotate-180{transform:rotate(180deg)}.-translate-x-full{transform:translateX(-100%)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:top-\[50px\]:after{content:var(--tw-content);top:50px}.after\:right-\[-50\%\]:after{content:var(--tw-content);right:-50%}.after\:h-0\.5:after{content:var(--tw-content);height:.125rem}.after\:h-0:after{content:var(--tw-content);height:0}.after\:w-full:after{content:var(--tw-content);width:100%}.after\:bg-secondary-light:after{--tw-bg-opacity:1;background-color:rgb(245 247 249/var(--tw-bg-opacity));content:var(--tw-content)}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.last\:after\:content-none:last-child:after{--tw-content:none;content:var(--tw-content)}.visited\:text-secondary-text:visited{color:#7d7e7f}.hover\:bg-primary-hover:hover{background-color:var(--color-primary-hover)}.hover\:bg-secondary-hover:hover{background-color:var(--color-secondary-hover)}.hover\:text-primary-text:hover{--tw-text-opacity:1;color:rgb(28 28 28/var(--tw-text-opacity))}.hover\:text-primary-main:hover{color:var(--color-primary-main)}.hover\:text-secondary-hover:hover{color:var(--color-secondary-hover)}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.active\:bg-primary-active:active{background-color:var(--color-primary-active)}.active\:bg-secondary-active:active{background-color:var(--color-secondary-active)}.group:hover .group-hover\:text-primary-text{--tw-text-opacity:1;color:rgb(28 28 28/var(--tw-text-opacity))}@media (min-width:1280px) and (max-width:1535px){.xl\:w-\[220px\]{width:220px}.xl\:gap-8{gap:2rem}.xl\:gap-5{gap:1.25rem}}
1
+ @import "../fonts/ubuntu/ubuntu.css";[data-theme=pc]{--color-primary-main:#42ab44;--color-primary-hover:#248341;--color-primary-active:#245f34;--color-secondary-hover:#c5e2c6;--color-secondary-active:#d8f2d9}[data-theme=bc]{--color-primary-main:#83b83e;--color-primary-hover:#5c921d;--color-primary-active:#3c5e10;--color-secondary-hover:#e8f4d9;--color-secondary-active:#d8e3ca}[data-theme=eo]{--color-primary-main:#ddb63d;--color-primary-hover:#bb9727;--color-primary-active:#7e630c;--color-secondary-hover:#f1ecdd;--color-secondary-active:#e5dec7}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.absolute{position:absolute}.relative{position:relative}.sticky{position:-webkit-sticky;position:sticky}.top-4{top:1rem}.right-4{right:1rem}.bottom-0{bottom:0}.right-0{right:0}.left-0{left:0}.-bottom-2{bottom:-.5rem}.top-0{top:0}.z-10{z-index:10}.col-span-12{grid-column:span 12/span 12}.col-span-8{grid-column:span 8/span 8}.col-span-4{grid-column:span 4/span 4}.col-span-6{grid-column:span 6/span 6}.m-0{margin:0}.-mx-20{margin-left:-5rem;margin-right:-5rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.my-4{margin-bottom:1rem;margin-top:1rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mt-9{margin-top:2.25rem}.mt-2{margin-top:.5rem}.mb-5{margin-bottom:1.25rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.mb-6{margin-bottom:1.5rem}.mt-4{margin-top:1rem}.mt-7{margin-top:1.75rem}.mt-5{margin-top:1.25rem}.mb-2{margin-bottom:.5rem}.mt-auto{margin-top:auto}.mt-8{margin-top:2rem}.mr-8{margin-right:2rem}.mb-4{margin-bottom:1rem}.mb-2\.5{margin-bottom:.625rem}.mt-6{margin-top:1.5rem}.mt-2\.5{margin-top:.625rem}.ml-auto{margin-left:auto}.mr-5{margin-right:1.25rem}.mr-7{margin-right:1.75rem}.ml-2\.5{margin-left:.625rem}.box-border{box-sizing:border-box}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.h-\[70px\]{height:70px}.h-8{height:2rem}.h-full{height:100%}.h-\[90px\]{height:90px}.h-4{height:1rem}.h-\[50px\]{height:50px}.h-\[3px\]{height:3px}.h-\[220px\]{height:220px}.h-0\.5{height:.125rem}.h-0{height:0}.h-\[100px\]{height:100px}.h-\[1px\]{height:1px}.h-\[8px\]{height:8px}.h-\[2px\]{height:2px}.h-\[24px\]{height:24px}.min-h-\[70px\]{min-height:70px}.min-h-\[50px\]{min-height:50px}.min-h-\[100px\]{min-height:100px}.min-h-\[32px\]{min-height:32px}.min-h-\[8px\]{min-height:8px}.w-\[70px\]{width:70px}.w-full{width:100%}.w-8{width:2rem}.w-\[125px\]{width:125px}.w-\[90px\]{width:90px}.w-\[50px\]{width:50px}.w-\[220px\]{width:220px}.w-\[100px\]{width:100px}.w-\[276px\]{width:276px}.w-\[280px\]{width:280px}.w-\[235px\]{width:235px}.w-\[24px\]{width:24px}.w-\[8px\]{width:8px}.w-\[36px\]{width:36px}.w-10{width:2.5rem}.min-w-\[70px\]{min-width:70px}.min-w-\[600px\]{min-width:600px}.min-w-\[50px\]{min-width:50px}.min-w-\[100px\]{min-width:100px}.min-w-\[32px\]{min-width:32px}.min-w-\[8px\]{min-width:8px}.max-w-\[47rem\]{max-width:47rem}.max-w-\[580px\]{max-width:580px}.max-w-\[600px\]{max-width:600px}.max-w-min{max-width:-webkit-min-content;max-width:-moz-min-content;max-width:min-content}.max-w-\[292px\]{max-width:292px}.max-w-\[170px\]{max-width:170px}.flex-none{flex:none}.shrink-0{flex-shrink:0}.grow-0{flex-grow:0}.grow{flex-grow:1}.basis-full{flex-basis:100%}.basis-0{flex-basis:0px}.-translate-x-full{--tw-translate-x:-100%}.-translate-x-full,.rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@-webkit-keyframes progress{0%{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes progress{0%{transform:translateX(-100%)}to{transform:translateX(0)}}.animate-slide{-webkit-animation:progress linear;animation:progress linear}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-5{gap:1.25rem}.gap-1{gap:.25rem}.gap-3{gap:.75rem}.gap-6{gap:1.5rem}.gap-4{gap:1rem}.gap-32{gap:8rem}.gap-11{gap:2.75rem}.gap-\[14px\]{gap:14px}.gap-2{gap:.5rem}.gap-3\.5{gap:.875rem}.gap-x-24{-moz-column-gap:6rem;column-gap:6rem}.overflow-hidden{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.rounded-full{border-radius:9999px}.rounded-md{border-radius:.375rem}.rounded-3xl{border-radius:1.5rem}.rounded-l-full{border-bottom-left-radius:9999px;border-top-left-radius:9999px}.rounded-r-full{border-bottom-right-radius:9999px;border-top-right-radius:9999px}.rounded-tl-lg{border-top-left-radius:.5rem}.rounded-bl-3xl{border-bottom-left-radius:1.5rem}.rounded-br-3xl{border-bottom-right-radius:1.5rem}.border{border-width:1px}.border-2{border-width:2px}.border-0{border-width:0}.border-x-0{border-left-width:0;border-right-width:0}.border-t{border-top-width:1px}.border-r{border-right-width:1px}.border-solid{border-style:solid}.border-none{border-style:none}.border-main{--tw-border-opacity:1;border-color:rgb(240 244 240/var(--tw-border-opacity))}.border-main-divider{--tw-border-opacity:1;border-color:rgb(235 237 240/var(--tw-border-opacity))}.border-primary-main{border-color:var(--color-primary-main)}.border-transparent{border-color:transparent}.border-y-main-divider{--tw-border-opacity:1;border-bottom-color:rgb(235 237 240/var(--tw-border-opacity));border-top-color:rgb(235 237 240/var(--tw-border-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-main{--tw-bg-opacity:1;background-color:rgb(240 244 240/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-secondary-light{--tw-bg-opacity:1;background-color:rgb(245 247 249/var(--tw-bg-opacity))}.bg-inherit{background-color:inherit}.bg-primary-main{background-color:var(--color-primary-main)}.bg-main-divider{--tw-bg-opacity:1;background-color:rgb(235 237 240/var(--tw-bg-opacity))}.bg-secondary-dark{--tw-bg-opacity:1;background-color:rgb(226 228 229/var(--tw-bg-opacity))}.p-12{padding:3rem}.p-10{padding:2.5rem}.p-20{padding:5rem}.p-2{padding:.5rem}.p-11{padding:2.75rem}.p-\[10px\]{padding:10px}.p-9{padding:2.25rem}.p-\[26px\]{padding:26px}.p-0{padding:0}.px-0{padding-left:0;padding-right:0}.py-4{padding-bottom:1rem;padding-top:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-12{padding-left:3rem;padding-right:3rem}.py-12{padding-bottom:3rem;padding-top:3rem}.px-\[88px\]{padding-left:88px;padding-right:88px}.px-3{padding-left:.75rem;padding-right:.75rem}.px-9{padding-left:2.25rem;padding-right:2.25rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-8{padding-bottom:2rem;padding-top:2rem}.py-5{padding-bottom:1.25rem;padding-top:1.25rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.py-\[5px\]{padding-bottom:5px;padding-top:5px}.px-20{padding-left:5rem;padding-right:5rem}.py-3\.5{padding-bottom:.875rem;padding-top:.875rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-4{padding-left:1rem;padding-right:1rem}.pb-2{padding-bottom:.5rem}.pt-0{padding-top:0}.pl-11{padding-left:2.75rem}.pt-4{padding-top:1rem}.pr-\[7\.5rem\]{padding-right:7.5rem}.pt-1{padding-top:.25rem}.pr-28{padding-right:7rem}.pt-\[3px\]{padding-top:3px}.pt-\[5px\]{padding-top:5px}.pt-5{padding-top:1.25rem}.pb-8{padding-bottom:2rem}.pl-4{padding-left:1rem}.pl-\[170px\]{padding-left:170px}.text-left{text-align:left}.text-center{text-align:center}.font-sans{font-family:Ubuntu,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.text-title{font-size:2rem;line-height:2.5rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.375rem}.text-base{font-size:1rem;line-height:1.5rem}.text-xs{font-size:.75rem;line-height:1.125rem}.text-title-lg{font-size:2.5rem;line-height:3rem}.text-title-sm{font-size:1.75rem;line-height:2.5rem}.text-title-xs{font-size:1.5rem;line-height:1.875rem}.font-medium{font-weight:500}.font-normal{font-weight:400}.text-primary-text{--tw-text-opacity:1;color:rgb(28 28 28/var(--tw-text-opacity))}.text-secondary-text{--tw-text-opacity:1;color:rgb(125 126 127/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-main{--tw-text-opacity:1;color:rgb(240 244 240/var(--tw-text-opacity))}.text-primary-main{color:var(--color-primary-main)}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.no-underline{-webkit-text-decoration-line:none;text-decoration-line:none}.shadow-\[0_8px_32px_0px_\#00000014\]{--tw-shadow:0 8px 32px 0px #00000014;--tw-shadow-colored:0 8px 32px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.duration-1000{transition-duration:1s}.rotate-180{transform:rotate(180deg)}.-translate-x-full{transform:translateX(-100%)}.visited\:text-secondary-text:visited{color:#7d7e7f}.hover\:bg-primary-hover:hover{background-color:var(--color-primary-hover)}.hover\:bg-secondary-hover:hover{background-color:var(--color-secondary-hover)}.hover\:text-primary-text:hover{--tw-text-opacity:1;color:rgb(28 28 28/var(--tw-text-opacity))}.hover\:text-primary-main:hover{color:var(--color-primary-main)}.hover\:text-secondary-hover:hover{color:var(--color-secondary-hover)}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.active\:bg-primary-active:active{background-color:var(--color-primary-active)}.active\:bg-secondary-active:active{background-color:var(--color-secondary-active)}.group:hover .group-hover\:text-primary-text{--tw-text-opacity:1;color:rgb(28 28 28/var(--tw-text-opacity))}@media (min-width:1280px) and (max-width:1535px){.xl\:w-\[220px\]{width:220px}.xl\:gap-8{gap:2rem}.xl\:gap-5{gap:1.25rem}}
package/lib/index.d.ts CHANGED
@@ -1,7 +1,10 @@
1
+ export type { ProjectSettings } from './ProjectSettings';
2
+ export { projectSettings } from './ProjectSettings';
1
3
  export type { BlockDef, ContentPageMeta, ContentPageDef, Img, ImgSource, Picture } from './types';
2
- export type { ContentPageContext, Router } from './ContentPageContext';
3
- export { Blocks } from './Blocks';
4
- export { LikeAPI } from './api/LikeAPI';
4
+ export type { ContentPageContext, Router, LikeService, Search, HandlerDecorator, } from './ContentPageContext';
5
5
  export { ContentPageHead } from './ContentPageHead';
6
6
  export { ContentPage } from './ContentPage';
7
+ export { Blocks } from './Blocks';
8
+ export { LikeAPI } from './api/LikeAPI';
7
9
  export * as url from './utils/url';
10
+ export { joinList } from './utils/joinList';
package/lib/index.js CHANGED
@@ -1,6 +1,8 @@
1
- export { Blocks } from './Blocks.js';
2
- export { LikeAPI } from './api/LikeAPI.js';
1
+ export { projectSettings } from './ProjectSettings.js';
3
2
  export { ContentPageHead } from './ContentPageHead.js';
4
3
  export { ContentPage } from './ContentPage.js';
4
+ export { Blocks } from './Blocks.js';
5
+ export { LikeAPI } from './api/LikeAPI.js';
5
6
  export * as url from './utils/url.js';
7
+ export { joinList } from './utils/joinList.js';
6
8
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAWpD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC"}
package/lib/types.d.ts CHANGED
@@ -1,15 +1,8 @@
1
1
  import type { AvifOptions, FormatEnum, GifOptions, HeifOptions, JpegOptions, PngOptions, ResizeOptions, TiffOptions, WebpOptions } from 'sharp';
2
- import type { BenefitsBlockContent } from './BenefitsBlock';
2
+ import type { BlockContent } from './Blocks';
3
3
  import type { ContentPageContext } from './ContentPageContext';
4
- import type { HeaderContent } from './Header/index';
5
- import type { PlaceholderContent } from './Placeholder';
6
- import type { ProductBlockInnerContent } from './ProductBlockInner';
7
- import type { ProductGalleryContent } from './ProductGallery';
8
- import type { StepsBlockContent } from './StepsBlock';
9
- import type { TileContent } from './Tile';
10
- export declare type BlockVersion = 'primary' | 'secondary';
11
4
  export declare type ColorPalette = 'pc' | 'bc' | 'eo';
12
- export declare type BlockContent = HeaderContent | PlaceholderContent | ProductBlockInnerContent | TileContent | StepsBlockContent | BenefitsBlockContent | ProductGalleryContent;
5
+ export declare type BlockVersion = 'primary' | 'secondary';
13
6
  export interface BlockDef {
14
7
  type: string;
15
8
  style?: string[];
@@ -45,7 +38,7 @@ export interface ImgSource {
45
38
  export interface Picture extends Img, ImgSource {
46
39
  sources?: ImgSource[];
47
40
  }
48
- export interface UniBlocksComponentProps {
41
+ export interface UniBlockProps {
49
42
  className?: string;
50
43
  context: ContentPageContext;
51
44
  }
@@ -1,2 +1,2 @@
1
- import type { UniBlocksComponentProps } from '../types';
2
- export declare const SearchBar: (props: import("@redneckz/uni-jsx").PropsWithChildren<UniBlocksComponentProps, any>, context?: any) => any;
1
+ import type { UniBlockProps } from '../types';
2
+ export declare const SearchBar: (props: import("@redneckz/uni-jsx").PropsWithChildren<UniBlockProps, any>, context?: any) => any;
@@ -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,CAA0B,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE;IAC/E,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,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"}
@@ -0,0 +1,3 @@
1
+ import type { AsyncDataHook } from './ContentPageContext';
2
+ import type { HeaderContent } from './Header/index';
3
+ export declare function useSitemap(useAsyncData: AsyncDataHook): HeaderContent;
@@ -0,0 +1,13 @@
1
+ import { projectSettings } from './ProjectSettings.js';
2
+ export function useSitemap(useAsyncData) {
3
+ const { data } = useAsyncData(sitemapURL(), fetchSitemap);
4
+ return data || {};
5
+ }
6
+ async function fetchSitemap() {
7
+ const response = await fetch(sitemapURL());
8
+ return await response.json();
9
+ }
10
+ function sitemapURL() {
11
+ return `/wcms-resources/${projectSettings.SITEMAP || 'sitemap'}.json`;
12
+ }
13
+ //# sourceMappingURL=useSitemap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSitemap.js","sourceRoot":"","sources":["../src/useSitemap.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,UAAU,UAAU,CAAC,YAA2B;IACpD,MAAM,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,UAAU,EAAE,EAAE,YAAY,CAAC,CAAC;IAC1D,OAAO,IAAI,IAAI,EAAE,CAAC;AACpB,CAAC;AAED,KAAK,UAAU,YAAY;IACzB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;IAC3C,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;AAC/B,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,mBAAmB,eAAe,CAAC,OAAO,IAAI,SAAS,OAAO,CAAC;AACxE,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function joinList<E>(sep: E): (list: E[]) => E[];
@@ -0,0 +1,4 @@
1
+ export function joinList(sep) {
2
+ return (list) => list.reduce((acc, el, i) => (acc.length ? acc.concat({ ...sep, key: i }, el) : [el]), []);
3
+ }
4
+ //# sourceMappingURL=joinList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"joinList.js","sourceRoot":"","sources":["../../src/utils/joinList.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,QAAQ,CAAI,GAAM;IAChC,OAAO,CAAC,IAAI,EAAE,EAAE,CACd,IAAI,CAAC,MAAM,CACT,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EACxE,EAAS,CACV,CAAC;AACN,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redneckz/wildless-cms-uni-blocks",
3
- "version": "0.2.46",
3
+ "version": "0.2.49",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -60,7 +60,8 @@
60
60
  "files": [
61
61
  "lib",
62
62
  "dist",
63
- "fonts"
63
+ "fonts",
64
+ "src"
64
65
  ],
65
66
  "author": {
66
67
  "name": "redneckz",
@@ -0,0 +1,34 @@
1
+ import { context } from './setup-fixture';
2
+
3
+ import { BenefitsBlock } from './BenefitsBlock';
4
+
5
+ export default (
6
+ <BenefitsBlock
7
+ context={context}
8
+ title="Преимущества кредита"
9
+ benefits={[
10
+ {
11
+ label: 'Без комиссии',
12
+ description:
13
+ 'Комиссия за выдачу кредита не взимается. Допускается полное или частичное погашение кредита',
14
+ icon: 'ClockIcon',
15
+ },
16
+ {
17
+ label: 'Оформление по паспорту',
18
+ description: 'Обеспечение не требуется. Кредит можно получить на любые цели',
19
+ icon: 'SignDocsIcon',
20
+ },
21
+ {
22
+ label: 'Без залога и поручительства',
23
+ description:
24
+ 'Единовременное перечисление суммы кредита в полном объёме на текущий счет в Банке',
25
+ icon: 'ComfortableCompIcon',
26
+ },
27
+ {
28
+ label: 'Деньги за 3 дня',
29
+ description: 'Рассмотрение заявки с момента предоставления полного комплекта документов',
30
+ icon: 'ActualBalanceIcon',
31
+ },
32
+ ]}
33
+ />
34
+ );
@@ -0,0 +1,45 @@
1
+ import { JSX } from '@redneckz/uni-jsx';
2
+ import { ClockIcon, SignDocsIcon, ComfortableCompIcon, ActualBalanceIcon } from './Icons/index';
3
+ import type { UniBlockProps, Benefit } from './types';
4
+
5
+ const ICONS = { ClockIcon, SignDocsIcon, ComfortableCompIcon, ActualBalanceIcon };
6
+
7
+ export interface BenefitsBlockContent {
8
+ title?: string;
9
+ benefits?: Benefit[];
10
+ }
11
+
12
+ export interface BenefitsBlockProps extends BenefitsBlockContent, UniBlockProps {}
13
+
14
+ export const BenefitsBlock = JSX<BenefitsBlockProps>(({ className, title, benefits }) => {
15
+ return (
16
+ <section
17
+ className={`font-sans text-primary-text bg-white p-12 pb-2 flex flex-col items-center ${
18
+ className || ''
19
+ }`}
20
+ >
21
+ <h2 className="font-medium text-title m-0 max-w-[47rem] text-center">{title}</h2>
22
+ {benefits?.length ? (
23
+ <div className="grid grid-cols-2 gap-5 mt-9">{benefits.map(renderStep)}</div>
24
+ ) : null}
25
+ </section>
26
+ );
27
+ });
28
+
29
+ const renderStep = (benefit: Benefit, i: number) => {
30
+ return (
31
+ <div key={String(i)} className="flex items-center p-10 gap-5 max-w-[580px]">
32
+ {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>
36
+ )}
37
+ <div>
38
+ <h3 className="font-medium text-xl m-0">{benefit.label}</h3>
39
+ {benefit.description && (
40
+ <div className="font-normal text-sm mt-2">{benefit.description}</div>
41
+ )}
42
+ </div>
43
+ </div>
44
+ );
45
+ };
package/src/Blocks.ts ADDED
@@ -0,0 +1,39 @@
1
+ import { BenefitsBlock, BenefitsBlockContent } from './BenefitsBlock';
2
+ import { ExchangeRateTile, ExchangeRateTileContent } from './ExchangeRateTile';
3
+ import { Footer, FooterContent } from './Footer/index';
4
+ import { Header, HeaderContent } from './Header/index';
5
+ import { MobileAppTile, MobileAppTileContent } from './MobileAppTile';
6
+ import { Placeholder, PlaceholderContent } from './Placeholder';
7
+ import { ProductBlock } from './ProductBlock';
8
+ import { ProductBlockInnerContent } from './ProductBlockInner';
9
+ import { ProductGallery, ProductGalleryContent } from './ProductGallery';
10
+ import { StepsBlock, StepsBlockContent } from './StepsBlock';
11
+ import { ProductTile, ProductTileContent } from './ProductTile';
12
+ import { Tile, TileContent } from './Tile';
13
+
14
+ export const Blocks = {
15
+ Header,
16
+ Footer,
17
+ Placeholder,
18
+ Tile,
19
+ ProductTile,
20
+ ProductBlock,
21
+ StepsBlock,
22
+ BenefitsBlock,
23
+ ProductGallery,
24
+ ExchangeRateTile,
25
+ MobileAppTile,
26
+ };
27
+
28
+ export type BlockContent =
29
+ | HeaderContent
30
+ | FooterContent
31
+ | PlaceholderContent
32
+ | TileContent
33
+ | ProductTileContent
34
+ | ProductBlockInnerContent
35
+ | StepsBlockContent
36
+ | BenefitsBlockContent
37
+ | ProductGalleryContent
38
+ | ExchangeRateTileContent
39
+ | MobileAppTileContent;