@redneckz/wildless-cms-uni-blocks 0.2.47 → 0.2.50

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 (79) hide show
  1. package/README.md +3 -0
  2. package/dist/Blocks.d.ts +13 -0
  3. package/dist/Blocks.js +2 -0
  4. package/dist/Blocks.js.map +1 -1
  5. package/dist/Footer/Footer.d.ts +1 -2
  6. package/dist/Footer/Footer.js.map +1 -1
  7. package/dist/Footer/Sitemap.js +6 -4
  8. package/dist/Footer/Sitemap.js.map +1 -1
  9. package/dist/Footer/index.d.ts +1 -1
  10. package/dist/Header/Header.js +1 -1
  11. package/dist/Header/Header.js.map +1 -1
  12. package/dist/Header/HeaderSecondaryMenu.js +1 -1
  13. package/dist/Header/HeaderSecondaryMenu.js.map +1 -1
  14. package/dist/ProductBlockInner.js +2 -1
  15. package/dist/ProductBlockInner.js.map +1 -1
  16. package/dist/ProductGallery.js +2 -2
  17. package/dist/ProductGallery.js.map +1 -1
  18. package/dist/ProductTile.d.ts +17 -0
  19. package/dist/ProductTile.js +27 -0
  20. package/dist/ProductTile.js.map +1 -0
  21. package/dist/StepsBlock.js +7 -3
  22. package/dist/StepsBlock.js.map +1 -1
  23. package/dist/index.d.ts +1 -0
  24. package/dist/index.js +3 -1
  25. package/dist/index.js.map +1 -1
  26. package/dist/types.d.ts +2 -9
  27. package/dist/ui-kit/TopItem.js +1 -1
  28. package/dist/ui-kit/TopItem.js.map +1 -1
  29. package/dist/utils/joinList.d.ts +1 -0
  30. package/dist/utils/joinList.js +7 -0
  31. package/dist/utils/joinList.js.map +1 -0
  32. package/lib/Blocks.d.ts +13 -0
  33. package/lib/Blocks.js +2 -0
  34. package/lib/Blocks.js.map +1 -1
  35. package/lib/Footer/Footer.d.ts +1 -2
  36. package/lib/Footer/Footer.js.map +1 -1
  37. package/lib/Footer/Sitemap.js +6 -4
  38. package/lib/Footer/Sitemap.js.map +1 -1
  39. package/lib/Footer/index.d.ts +1 -1
  40. package/lib/Header/Header.js +1 -1
  41. package/lib/Header/Header.js.map +1 -1
  42. package/lib/Header/HeaderSecondaryMenu.js +1 -1
  43. package/lib/Header/HeaderSecondaryMenu.js.map +1 -1
  44. package/lib/ProductBlockInner.js +2 -1
  45. package/lib/ProductBlockInner.js.map +1 -1
  46. package/lib/ProductGallery.js +2 -2
  47. package/lib/ProductGallery.js.map +1 -1
  48. package/lib/ProductTile.d.ts +17 -0
  49. package/lib/ProductTile.js +25 -0
  50. package/lib/ProductTile.js.map +1 -0
  51. package/lib/StepsBlock.js +7 -3
  52. package/lib/StepsBlock.js.map +1 -1
  53. package/lib/common.css +1 -1
  54. package/lib/index.d.ts +1 -0
  55. package/lib/index.js +1 -0
  56. package/lib/index.js.map +1 -1
  57. package/lib/types.d.ts +2 -9
  58. package/lib/ui-kit/TopItem.js +1 -1
  59. package/lib/ui-kit/TopItem.js.map +1 -1
  60. package/lib/utils/joinList.d.ts +1 -0
  61. package/lib/utils/joinList.js +4 -0
  62. package/lib/utils/joinList.js.map +1 -0
  63. package/package.json +1 -1
  64. package/src/Blocks.ts +25 -9
  65. package/src/ContentPage.page.json +140 -0
  66. package/src/Footer/Footer.tsx +2 -1
  67. package/src/Footer/Sitemap.tsx +7 -5
  68. package/src/Footer/index.ts +1 -1
  69. package/src/Header/Header.tsx +1 -1
  70. package/src/Header/HeaderSecondaryMenu.tsx +1 -1
  71. package/src/ProductBlockInner.tsx +4 -3
  72. package/src/ProductGallery.tsx +3 -5
  73. package/src/ProductTile.fixture.tsx +147 -0
  74. package/src/ProductTile.tsx +95 -0
  75. package/src/StepsBlock.tsx +20 -6
  76. package/src/index.ts +1 -0
  77. package/src/types.ts +2 -17
  78. package/src/ui-kit/TopItem.tsx +1 -1
  79. package/src/utils/joinList.ts +7 -0
@@ -6,11 +6,12 @@ import { BlockItem } from './ui-kit/BlockItem.js';
6
6
  import { Button } from './ui-kit/Button.js';
7
7
  import { Breadcrumb } from './ui-kit/Breadcrumb.js';
8
8
  import { useLink } from './useLink.js';
9
+ import { joinList } from './utils/joinList.js';
9
10
  const ICONS = { EmptyWalletIcon, PercentageSquareIcon, CalendarIcon };
10
11
  export const ProductBlockInner = JSX(({ className, context, title, description, breadcrumbs, benefits, buttons, image, items }) => {
11
12
  const router = context.useRouter();
12
13
  const { handlerDecorator } = context;
13
- return (_jsxs("div", { className: `font-sans flex justify-between items-stretch ${className || ''}`, children: [_jsxs("div", { className: "flex flex-col", children: [breadcrumbs?.length ? (_jsx("div", { className: "text-xs mb-6", children: join(_jsx("span", { className: "text-secondary-text mx-2", children: "/" }))(breadcrumbs.map((breadcrumb, i) => (_jsx(Breadcrumb, { ...useLink({ router, handlerDecorator }, { className: 'text-secondary-text', ...breadcrumb }) }, String(i))))) })) : null, title && (_jsx("h1", { className: "font-medium text-title-lg 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 })), benefits?.length ? (_jsx("div", { className: "flex gap-6 mt-7", children: benefits.map(renderBenefit) })) : null, items?.length ? (_jsx("section", { className: "space-y-2.5 mt-5", role: "list", children: items.map((_, i) => (_jsx(BlockItem, { text: _ }, String(i)))) })) : null, buttons?.length ? (_jsx("div", { className: "flex mt-auto gap-4", children: buttons.map((button, index) => renderButton(useLink({ router, handlerDecorator }, button), index)) })) : null] }), image?.src && _jsx(Img, { image: image, className: "mt-auto" })] }));
14
+ return (_jsxs("div", { className: `font-sans flex justify-between items-stretch ${className || ''}`, children: [_jsxs("div", { className: "flex flex-col", children: [breadcrumbs?.length ? (_jsx("div", { className: "text-xs mb-6", children: joinList(_jsx("span", { className: "text-secondary-text mx-2", children: "/" }))(breadcrumbs.map((breadcrumb, i) => (_jsx(Breadcrumb, { ...useLink({ router, handlerDecorator }, { className: 'text-secondary-text', ...breadcrumb }) }, String(i))))) })) : null, title && (_jsx("h1", { className: "font-medium text-title-lg 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 })), benefits?.length ? (_jsx("div", { className: "flex gap-6 mt-7", children: benefits.map(renderBenefit) })) : null, items?.length ? (_jsx("section", { className: "mt-5", role: "list", children: items.map((_, i) => (_jsx(BlockItem, { className: "mb-2", text: _ }, String(i)))) })) : null, buttons?.length ? (_jsx("div", { className: "flex mt-auto gap-4", children: buttons.map((button, index) => renderButton(useLink({ router, handlerDecorator }, button), index)) })) : null] }), image?.src && _jsx(Img, { image: image, className: "mt-auto" })] }));
14
15
  });
15
16
  function renderBenefit(benefit, i) {
16
17
  return (_jsxs("div", { className: "flex gap-4 items-center", children: [benefit.icon && (_jsx("div", { className: "w-[50px] h-[50px] min-w-[50px] min-h-[50px] bg-main rounded-full p-[10px] box-border", children: ICONS[benefit.icon]?.() })), _jsxs("div", { className: "flex gap-1 flex-col h-full", children: [_jsx("h4", { className: "font-medium text-xl m-0", children: benefit.label }), benefit.description && (_jsx("div", { className: "font-normal text-sm text-secondary-text", children: benefit.description }))] })] }, String(i)));
@@ -1 +1 @@
1
- {"version":3,"file":"ProductBlockInner.js","sourceRoot":"","sources":["../src/ProductBlockInner.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProductBlockInner.js","sourceRoot":"","sources":["../src/ProductBlockInner.tsx"],"names":[],"mappings":"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"}
@@ -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%)` }, role: "list", 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,
@@ -20,6 +20,6 @@ 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,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,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,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,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"}
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/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-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}.mt-auto{margin-top:auto}.mt-8{margin-top:2rem}.mt-6{margin-top:1.5rem}.mt-2\.5{margin-top:.625rem}.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}.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-\[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-\[90px\]{width:90px}.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-\[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}.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-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-\[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}.pl-11{padding-left:2.75rem}.pt-4{padding-top:1rem}.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-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}.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-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-secondary-light{--tw-text-opacity:1;color:rgb(245 247 249/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-active:hover{color:var(--color-secondary-active)}.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
@@ -7,3 +7,4 @@ export { ContentPage } from './ContentPage';
7
7
  export { Blocks } from './Blocks';
8
8
  export { LikeAPI } from './api/LikeAPI';
9
9
  export * as url from './utils/url';
10
+ export { joinList } from './utils/joinList';
package/lib/index.js CHANGED
@@ -4,4 +4,5 @@ export { ContentPage } from './ContentPage.js';
4
4
  export { Blocks } from './Blocks.js';
5
5
  export { LikeAPI } from './api/LikeAPI.js';
6
6
  export * as url from './utils/url.js';
7
+ export { joinList } from './utils/joinList.js';
7
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":"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"}
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[];
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx } from "@redneckz/uni-jsx/jsx-runtime";
2
2
  import { JSX } from '@redneckz/uni-jsx';
3
3
  export const TopItem = JSX(({ className, text, href, target, active, flat, onClick, children, ariaLabel }) => {
4
- const linkStyle = active ? 'border-primary-main rounded-3xl' : 'border-transparent';
4
+ const linkStyle = active ? 'border-primary-main rounded-md' : 'border-transparent';
5
5
  const textStyle = active
6
6
  ? 'text-primary-main'
7
7
  : `${flat ? 'text-primary-text' : 'text-secondary-text'} hover:text-primary-main`;
@@ -1 +1 @@
1
- {"version":3,"file":"TopItem.js","sourceRoot":"","sources":["../../src/ui-kit/TopItem.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAcxC,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,CACxB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE;IAChF,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,oBAAoB,CAAC;IACpF,MAAM,SAAS,GAAG,MAAM;QACtB,CAAC,CAAC,mBAAmB;QACrB,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,qBAAqB,0BAA0B,CAAC;IAEpF,OAAO,CACL,YACE,SAAS,EAAE,4EACT,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WACd,IAAI,SAAS,IAAI,SAAS,IAAI,EAAE,EAAE,EAClC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,GAAG,EAAC,qBAAqB,gBACb,SAAS,YAErB,eAAM,SAAS,EAAE,iCAAiC,SAAS,EAAE,YAAG,IAAI,IAAI,QAAQ,GAAQ,GACtF,CACL,CAAC;AACJ,CAAC,CACF,CAAC"}
1
+ {"version":3,"file":"TopItem.js","sourceRoot":"","sources":["../../src/ui-kit/TopItem.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAcxC,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,CACxB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE;IAChF,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,oBAAoB,CAAC;IACnF,MAAM,SAAS,GAAG,MAAM;QACtB,CAAC,CAAC,mBAAmB;QACrB,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,qBAAqB,0BAA0B,CAAC;IAEpF,OAAO,CACL,YACE,SAAS,EAAE,4EACT,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WACd,IAAI,SAAS,IAAI,SAAS,IAAI,EAAE,EAAE,EAClC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,GAAG,EAAC,qBAAqB,gBACb,SAAS,YAErB,eAAM,SAAS,EAAE,iCAAiC,SAAS,EAAE,YAAG,IAAI,IAAI,QAAQ,GAAQ,GACtF,CACL,CAAC;AACJ,CAAC,CACF,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.47",
3
+ "version": "0.2.50",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
package/src/Blocks.ts CHANGED
@@ -1,19 +1,22 @@
1
- import { BenefitsBlock } from './BenefitsBlock';
2
- import { ExchangeRateTile } from './ExchangeRateTile';
3
- import { Footer } from './Footer/index';
4
- import { Header } from './Header/index';
5
- import { MobileAppTile } from './MobileAppTile';
6
- import { Placeholder } from './Placeholder';
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
7
  import { ProductBlock } from './ProductBlock';
8
- import { ProductGallery } from './ProductGallery';
9
- import { StepsBlock } from './StepsBlock';
10
- import { Tile } from './Tile';
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';
11
13
 
12
14
  export const Blocks = {
13
15
  Header,
14
16
  Footer,
15
17
  Placeholder,
16
18
  Tile,
19
+ ProductTile,
17
20
  ProductBlock,
18
21
  StepsBlock,
19
22
  BenefitsBlock,
@@ -21,3 +24,16 @@ export const Blocks = {
21
24
  ExchangeRateTile,
22
25
  MobileAppTile,
23
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;
@@ -60,6 +60,7 @@
60
60
  "src": "money-1.png",
61
61
  "title": "деньги",
62
62
  "format": "webp",
63
+ "alt": "Кредит наличными",
63
64
  "size": {
64
65
  "width": 220,
65
66
  "height": 220
@@ -353,6 +354,145 @@
353
354
  "title": "Неизвестный блок"
354
355
  }
355
356
  },
357
+ {
358
+ "type": "ProductTile",
359
+ "style": ["col-span-6"],
360
+ "content": {
361
+ "title": "Акция! “Кредит На все, что хочется!”",
362
+ "description": "Потребительский кредит на любые цели, без залога и поручительства",
363
+ "benefits": [
364
+ {
365
+ "label": "Кредитный лимит",
366
+ "description": "до 5 млн Р"
367
+ },
368
+ {
369
+ "label": "Процентная ставка",
370
+ "description": "от 12,5%"
371
+ },
372
+ {
373
+ "label": "Срок кредитования",
374
+ "description": "до 5 лет"
375
+ }
376
+ ],
377
+ "button": {
378
+ "text": "Подробнее",
379
+ "href": "/credit-cards",
380
+ "version": "secondary"
381
+ },
382
+ "image": {
383
+ "src": "card-with-diamond.png",
384
+ "alt": "Кредиты в РСХБ",
385
+ "format": "webp",
386
+ "size": {
387
+ "width": 220,
388
+ "height": 220
389
+ }
390
+ }
391
+ }
392
+ },
393
+ {
394
+ "type": "ProductTile",
395
+ "style": ["col-span-6"],
396
+ "content": {
397
+ "title": "Акция! “Пенсионный кредит”",
398
+ "description": "Потребительский кредит на любые цели, без залога и поручительства",
399
+ "benefits": [
400
+ {
401
+ "label": "Кредитный лимит",
402
+ "description": "до 3 млн Р"
403
+ },
404
+ {
405
+ "label": "Процентная ставка",
406
+ "description": "от 12,5%"
407
+ },
408
+ {
409
+ "label": "Срок кредитования",
410
+ "description": "до 3 лет"
411
+ }
412
+ ],
413
+ "button": {
414
+ "text": "Подробнее",
415
+ "href": "/credit-cards",
416
+ "target": "_blank",
417
+ "version": "secondary"
418
+ },
419
+ "image": {
420
+ "src": "letter-with-money.png",
421
+ "alt": "Пенсионный кредит в РСХБ",
422
+ "format": "webp",
423
+ "size": {
424
+ "width": 220,
425
+ "height": 220
426
+ }
427
+ }
428
+ }
429
+ },
430
+ {
431
+ "type": "ProductTile",
432
+ "style": ["col-span-8"],
433
+ "content": {
434
+ "title": "Кредит под залог недвижимости",
435
+ "description": "Без переоформления залогой недвижимости на банк",
436
+ "benefits": [
437
+ {
438
+ "label": "Кредитный лимит",
439
+ "description": "до 10 млн Р"
440
+ },
441
+ {
442
+ "label": "Процентная ставка",
443
+ "description": "от 21,5%"
444
+ },
445
+ {
446
+ "label": "Срок кредитования",
447
+ "description": "до 10 лет"
448
+ }
449
+ ],
450
+ "button": {
451
+ "text": "Подробнее",
452
+ "href": "/credit-cards",
453
+ "target": "_blank",
454
+ "version": "secondary"
455
+ },
456
+ "image": {
457
+ "src": "building.png",
458
+ "alt": "Кредит под залог недвижимости в РСХБ",
459
+ "format": "webp",
460
+ "size": {
461
+ "width": 220,
462
+ "height": 220
463
+ }
464
+ }
465
+ }
466
+ },
467
+ {
468
+ "type": "ProductTile",
469
+ "style": ["col-span-4"],
470
+ "version": "secondary",
471
+ "content": {
472
+ "title": "Кредит пенсионный",
473
+ "description": "Для людей в возрасте до 75 лет",
474
+ "benefits": [
475
+ {
476
+ "label": "Кредитный лимит",
477
+ "description": "до 3 млн Р"
478
+ },
479
+ {
480
+ "label": "Процентная ставка",
481
+ "description": "от 16,8%"
482
+ },
483
+ {
484
+ "label": "Срок кредитования",
485
+ "description": "до 150 лет"
486
+ }
487
+ ],
488
+ "button": {
489
+ "text": "Подробнее",
490
+ "href": "/credit-cards",
491
+ "target": "_blank",
492
+ "version": "secondary"
493
+ }
494
+ }
495
+ },
356
496
  {
357
497
  "type": "Footer",
358
498
  "style": ["col-span-12"],
@@ -11,13 +11,14 @@ import type { LinkContent, UniBlockProps, ContactInfo, TopMenuItem } from '../ty
11
11
  const LEFT_COL_WIDTH_FULL_HD = 'w-[280px]';
12
12
  const LEFT_COL_WIDTH_SMALL_DESKTOP = 'xl:w-[220px]';
13
13
 
14
- interface FooterContent {
14
+ export interface FooterContent {
15
15
  documents?: LinkContent[];
16
16
  relatedEnterprises?: LinkContent[];
17
17
  contacts?: ContactInfo[];
18
18
  socialMedia?: Omit<LinkContent, 'text'>[];
19
19
  topItems?: TopMenuItem[];
20
20
  }
21
+
21
22
  export interface FooterProps extends FooterContent, UniBlockProps {}
22
23
 
23
24
  export const Footer = JSX<FooterProps>(
@@ -1,5 +1,5 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
- import { ContentPageContext } from '../ContentPageContext';
2
+ import { Router, HandlerDecorator } from '../ContentPageContext';
3
3
  import { mergeTopItems } from '../mergeTopItems';
4
4
  import type { LinkContent, TopMenuItem, UniBlockProps } from '../types';
5
5
  import { useLink } from '../useLink';
@@ -11,17 +11,19 @@ export interface SitemapProps extends UniBlockProps {
11
11
  export const Sitemap = JSX<SitemapProps>(({ className, items, context }) => {
12
12
  const sitemap = useSitemap(context.useAsyncData);
13
13
  const mergedItems = mergeTopItems(sitemap.topItems, items);
14
+ const linkParams = {
15
+ router: context.useRouter(),
16
+ handlerDecorator: context.handlerDecorator,
17
+ };
14
18
 
15
19
  return (
16
20
  <div className={`flex items-start justify-start gap-11 xl:gap-5 ${className || ''}`}>
17
- {mergedItems?.map((_, i) => renderColumn(_, i, context))}
21
+ {mergedItems?.map((_, i) => renderColumn(_, i, linkParams))}
18
22
  </div>
19
23
  );
20
24
  });
21
25
 
22
- const renderColumn = (c: TopMenuItem, index: number, context: ContentPageContext) => {
23
- const router = context.useRouter();
24
- const { handlerDecorator } = context;
26
+ const renderColumn = (c: TopMenuItem, index: number, { router, handlerDecorator }) => {
25
27
  const { text, href, items, target } = c;
26
28
 
27
29
  return (
@@ -1,2 +1,2 @@
1
1
  export { Footer } from './Footer';
2
- export type { FooterProps } from './Footer';
2
+ export type { FooterContent, FooterProps } from './Footer';
@@ -42,7 +42,7 @@ export const Header = JSX<HeaderProps>(({ className, location, context, topItems
42
42
  ));
43
43
 
44
44
  return (
45
- <header className={`pt-5 pb-8 px-20 bg-white rounded-bl-3xl rounded-br-3xl ${className || ''}`}>
45
+ <header className={`pt-5 pb-8 px-20 bg-white ${className || ''}`}>
46
46
  <div className="flex items-center">
47
47
  <Logo className="mr-8" />
48
48
  {topMenu}
@@ -32,7 +32,7 @@ export const HeaderSecondaryMenu = JSX<HeaderSecondaryMenuProps>(({ location, cl
32
32
  {ProfileIcon({ 'aria-hidden': true })}
33
33
  </HeaderSecondaryMenuButton>
34
34
  <HeaderSecondaryMenuButton
35
- className="mr-5 text-main hover:text-secondary-hover min-w-[32px] min-h-[32px]"
35
+ className="mr-5 text-secondary-light hover:text-secondary-active min-w-[32px] min-h-[32px]"
36
36
  ariaLabel="Дополнительные ссылки"
37
37
  >
38
38
  {GridIcon({ 'aria-hidden': true })}
@@ -7,6 +7,7 @@ import type { ButtonProps } from './ui-kit/Button';
7
7
  import { Button } from './ui-kit/Button';
8
8
  import { Breadcrumb, BreadcrumbProps } from './ui-kit/Breadcrumb';
9
9
  import { useLink } from './useLink';
10
+ import { joinList } from './utils/joinList';
10
11
 
11
12
  const ICONS = { EmptyWalletIcon, PercentageSquareIcon, CalendarIcon };
12
13
 
@@ -32,7 +33,7 @@ export const ProductBlockInner = JSX<ProductBlockInnerProps>(
32
33
  <div className="flex flex-col">
33
34
  {breadcrumbs?.length ? (
34
35
  <div className="text-xs mb-6">
35
- {join(<span className="text-secondary-text mx-2">/</span>)(
36
+ {joinList(<span className="text-secondary-text mx-2">/</span>)(
36
37
  breadcrumbs.map((breadcrumb, i) => (
37
38
  <Breadcrumb
38
39
  key={String(i)}
@@ -57,9 +58,9 @@ export const ProductBlockInner = JSX<ProductBlockInnerProps>(
57
58
  <div className="flex gap-6 mt-7">{benefits.map(renderBenefit)}</div>
58
59
  ) : null}
59
60
  {items?.length ? (
60
- <section className="space-y-2.5 mt-5" role="list">
61
+ <section className="mt-5" role="list">
61
62
  {items.map((_, i) => (
62
- <BlockItem key={String(i)} text={_} />
63
+ <BlockItem className="mb-2" key={String(i)} text={_} />
63
64
  ))}
64
65
  </section>
65
66
  ) : null}