@redneckz/wildless-cms-uni-blocks 0.2.51 → 0.2.54
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/BaseTile.d.ts +13 -0
- package/dist/BaseTile.js +35 -0
- package/dist/BaseTile.js.map +1 -0
- package/dist/Blocks.d.ts +2 -2
- package/dist/Blocks.js.map +1 -1
- package/dist/ExchangeRateTile.js +7 -5
- package/dist/ExchangeRateTile.js.map +1 -1
- package/dist/MobileAppTile.js +1 -1
- package/dist/MobileAppTile.js.map +1 -1
- package/dist/ProductBlock.d.ts +2 -0
- package/dist/ProductBlock.js +7 -2
- package/dist/ProductBlock.js.map +1 -1
- package/dist/ProductBlockInner.d.ts +3 -10
- package/dist/ProductBlockInner.js +3 -15
- package/dist/ProductBlockInner.js.map +1 -1
- package/dist/ProductTile.d.ts +4 -13
- package/dist/ProductTile.js +4 -11
- package/dist/ProductTile.js.map +1 -1
- package/dist/Tile.d.ts +3 -11
- package/dist/Tile.js +4 -26
- package/dist/Tile.js.map +1 -1
- package/dist/content-page-repository/transformContentPage.js +4 -1
- package/dist/content-page-repository/transformContentPage.js.map +1 -1
- package/lib/BaseTile.d.ts +13 -0
- package/lib/BaseTile.js +33 -0
- package/lib/BaseTile.js.map +1 -0
- package/lib/Blocks.d.ts +2 -2
- package/lib/Blocks.js.map +1 -1
- package/lib/ExchangeRateTile.js +7 -5
- package/lib/ExchangeRateTile.js.map +1 -1
- package/lib/MobileAppTile.js +1 -1
- package/lib/MobileAppTile.js.map +1 -1
- package/lib/ProductBlock.d.ts +2 -0
- package/lib/ProductBlock.js +8 -3
- package/lib/ProductBlock.js.map +1 -1
- package/lib/ProductBlockInner.d.ts +3 -10
- package/lib/ProductBlockInner.js +3 -15
- package/lib/ProductBlockInner.js.map +1 -1
- package/lib/ProductTile.d.ts +4 -13
- package/lib/ProductTile.js +4 -11
- package/lib/ProductTile.js.map +1 -1
- package/lib/Tile.d.ts +3 -11
- package/lib/Tile.js +5 -27
- package/lib/Tile.js.map +1 -1
- package/lib/common.css +1 -1
- package/lib/content-page-repository/transformContentPage.js +4 -1
- package/lib/content-page-repository/transformContentPage.js.map +1 -1
- package/package.json +6 -3
- package/src/BaseTile.tsx +87 -0
- package/src/Blocks.ts +3 -2
- package/src/ContentPage.page.json +212 -76
- package/src/ExchangeRateTile.tsx +7 -5
- package/src/MobileAppTile.tsx +1 -1
- package/src/ProductBlock.fixture.tsx +3 -2
- package/src/ProductBlock.tsx +25 -3
- package/src/ProductBlockInner.tsx +13 -70
- package/src/ProductTile.fixture.tsx +31 -23
- package/src/ProductTile.tsx +21 -70
- package/src/Tile.fixture.tsx +39 -29
- package/src/Tile.tsx +10 -79
- package/src/content-page-repository/transformContentPage.ts +7 -1
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { BlockVersion, Picture, UniBlockProps } from './types';
|
|
2
|
+
import type { ButtonProps } from './ui-kit/Button';
|
|
3
|
+
export interface BaseTileContent {
|
|
4
|
+
title?: string;
|
|
5
|
+
description?: string;
|
|
6
|
+
image?: Picture;
|
|
7
|
+
items?: string[];
|
|
8
|
+
buttons?: ButtonProps[];
|
|
9
|
+
version?: BlockVersion;
|
|
10
|
+
}
|
|
11
|
+
export interface BaseTileProps extends BaseTileContent, UniBlockProps {
|
|
12
|
+
}
|
|
13
|
+
export declare const BaseTile: (props: import("@redneckz/uni-jsx").PropsWithChildren<BaseTileProps, any>, context?: any) => any;
|
package/dist/BaseTile.js
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
|
+
exports.BaseTile = void 0;
|
|
3
|
+
const jsx_runtime_1 = require("@redneckz/uni-jsx/jsx-runtime");
|
|
4
|
+
const uni_jsx_1 = require("@redneckz/uni-jsx");
|
|
5
|
+
const Img_1 = require("./Img");
|
|
6
|
+
const BlockItem_1 = require("./ui-kit/BlockItem");
|
|
7
|
+
const Button_1 = require("./ui-kit/Button");
|
|
8
|
+
const useLink_1 = require("./useLink");
|
|
9
|
+
const TITLE_CLASSES = 'font-medium m-0 mb-4 whitespace-pre-wrap max-w-[600px]';
|
|
10
|
+
exports.BaseTile = (0, uni_jsx_1.JSX)(({ className, context, title, description, children, buttons, image, items, version = 'primary', }) => {
|
|
11
|
+
const router = context.useRouter();
|
|
12
|
+
const { handlerDecorator } = context;
|
|
13
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: `font-sans flex flex-col grow h-full`, children: [title && renderTitle(title, className), (0, jsx_runtime_1.jsxs)("div", { className: "flex grow justify-between mt-4", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col justify-between items-start", children: [(0, jsx_runtime_1.jsxs)("div", { children: [description ? ((0, jsx_runtime_1.jsx)("div", { className: "font-normal text-base max-w-[600px] mb-6", children: description })) : null, children, items?.length ? renderItems(items, version) : null] }), buttons?.length ? ((0, jsx_runtime_1.jsx)("div", { className: "flex mt-6 gap-4", children: buttons.map((button, index) => renderButton((0, useLink_1.useLink)({ router, handlerDecorator }, button), index)) })) : null] }), image?.src && (0, jsx_runtime_1.jsx)(Img_1.Img, { className: "mt-auto", image: image })] })] }));
|
|
14
|
+
});
|
|
15
|
+
function renderTitle(title, className = '') {
|
|
16
|
+
const colSpanPrefix = 'col-span-';
|
|
17
|
+
const colSpanStr = className.split(/\s+/).find((_) => _.startsWith(colSpanPrefix));
|
|
18
|
+
const colSpan = colSpanStr ? parseInt(colSpanStr.substring(colSpanPrefix.length), 10) : 12;
|
|
19
|
+
if (colSpan <= 4) {
|
|
20
|
+
return (0, jsx_runtime_1.jsx)("h3", { className: `${TITLE_CLASSES} text-title-xs`, children: title });
|
|
21
|
+
}
|
|
22
|
+
else if (colSpan <= 8) {
|
|
23
|
+
return (0, jsx_runtime_1.jsx)("h3", { className: `${TITLE_CLASSES} text-title-sm`, children: title });
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
return (0, jsx_runtime_1.jsx)("h2", { className: `${TITLE_CLASSES} text-title`, children: title });
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
function renderItems(items = [], version) {
|
|
30
|
+
return ((0, jsx_runtime_1.jsx)("section", { className: "max-w-[600px]", role: "list", children: items.map((_, i) => ((0, jsx_runtime_1.jsx)(BlockItem_1.BlockItem, { className: i ? 'mt-2.5' : '', text: _, version: version }, String(i)))) }));
|
|
31
|
+
}
|
|
32
|
+
function renderButton(button, i) {
|
|
33
|
+
return button?.text ? (0, jsx_runtime_1.jsx)(Button_1.Button, { ...button, version: button.version }, String(i)) : null;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=BaseTile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseTile.js","sourceRoot":"","sources":["../src/BaseTile.tsx"],"names":[],"mappings":"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"}
|
package/dist/Blocks.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ import { ProductBlockInnerContent } from './ProductBlockInner';
|
|
|
8
8
|
import { ProductGalleryContent } from './ProductGallery';
|
|
9
9
|
import { StepsBlockContent } from './StepsBlock';
|
|
10
10
|
import { ProductTileContent } from './ProductTile';
|
|
11
|
-
import {
|
|
11
|
+
import { BaseTileContent } from './BaseTile';
|
|
12
12
|
export declare const Blocks: {
|
|
13
13
|
Header: (props: import("@redneckz/uni-jsx").PropsWithChildren<import("./Header/Header").HeaderProps, any>, context?: any) => any;
|
|
14
14
|
Footer: (props: import("@redneckz/uni-jsx").PropsWithChildren<import("./Footer/Footer").FooterProps, any>, context?: any) => any;
|
|
@@ -22,4 +22,4 @@ export declare const Blocks: {
|
|
|
22
22
|
ExchangeRateTile: (props: import("@redneckz/uni-jsx").PropsWithChildren<import("./ExchangeRateTile").ExchangeRateTileProps, any>, context?: any) => any;
|
|
23
23
|
MobileAppTile: (props: import("@redneckz/uni-jsx").PropsWithChildren<import("./MobileAppTile").MobileAppTileProps, any>, context?: any) => any;
|
|
24
24
|
};
|
|
25
|
-
export declare type BlockContent = HeaderContent | FooterContent | PlaceholderContent |
|
|
25
|
+
export declare type BlockContent = HeaderContent | FooterContent | PlaceholderContent | BaseTileContent | ProductTileContent | ProductBlockInnerContent | StepsBlockContent | BenefitsBlockContent | ProductGalleryContent | ExchangeRateTileContent | MobileAppTileContent;
|
package/dist/Blocks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Blocks.js","sourceRoot":"","sources":["../src/Blocks.ts"],"names":[],"mappings":";;AAAA,mDAAsE;AACtE,yDAA+E;AAC/E,0CAAuD;AACvD,0CAAuD;AACvD,mDAAsE;AACtE,+CAAgE;AAChE,iDAA8C;AAE9C,qDAAyE;AACzE,6CAA6D;AAC7D,+CAAgE;
|
|
1
|
+
{"version":3,"file":"Blocks.js","sourceRoot":"","sources":["../src/Blocks.ts"],"names":[],"mappings":";;AAAA,mDAAsE;AACtE,yDAA+E;AAC/E,0CAAuD;AACvD,0CAAuD;AACvD,mDAAsE;AACtE,+CAAgE;AAChE,iDAA8C;AAE9C,qDAAyE;AACzE,6CAA6D;AAC7D,+CAAgE;AAEhE,iCAA8B;AAEjB,QAAA,MAAM,GAAG;IACpB,MAAM,EAAN,cAAM;IACN,MAAM,EAAN,cAAM;IACN,WAAW,EAAX,yBAAW;IACX,IAAI,EAAJ,WAAI;IACJ,WAAW,EAAX,yBAAW;IACX,YAAY,EAAZ,2BAAY;IACZ,UAAU,EAAV,uBAAU;IACV,aAAa,EAAb,6BAAa;IACb,cAAc,EAAd,+BAAc;IACd,gBAAgB,EAAhB,mCAAgB;IAChB,aAAa,EAAb,6BAAa;CACd,CAAC"}
|
package/dist/ExchangeRateTile.js
CHANGED
|
@@ -10,13 +10,15 @@ const CURRENCY_ICONS_MAP = {
|
|
|
10
10
|
USD: index_1.DollarIcon,
|
|
11
11
|
EUR: index_1.EuroIcon,
|
|
12
12
|
};
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
const buttons = [
|
|
14
|
+
{
|
|
15
|
+
text: 'Все показатели',
|
|
16
|
+
href: 'https://cbr.ru/currency_base/daily/',
|
|
17
|
+
},
|
|
18
|
+
];
|
|
17
19
|
exports.ExchangeRateTile = (0, uni_jsx_1.JSX)(({ className, context, title }) => {
|
|
18
20
|
const { data } = context.useAsyncData(CBR_EXCHANGE_RATE_URL, fetchExchangeRate);
|
|
19
|
-
return ((0, jsx_runtime_1.jsx)(Tile_1.Tile, { className: className, context: context, title: title || 'Курсы обмена валют',
|
|
21
|
+
return ((0, jsx_runtime_1.jsx)(Tile_1.Tile, { className: className, context: context, title: title || 'Курсы обмена валют', buttons: buttons, children: (0, jsx_runtime_1.jsxs)("table", { children: [(0, jsx_runtime_1.jsx)("thead", { children: (0, jsx_runtime_1.jsxs)("tr", { children: [(0, jsx_runtime_1.jsx)(CurrencyTH, { children: "\u0412\u0430\u043B\u044E\u0442\u0430" }), (0, jsx_runtime_1.jsx)(CurrencyTH, { className: "pl-11", children: "\u041A\u0443\u0440\u0441" })] }) }), (0, jsx_runtime_1.jsx)("tbody", { children: CURRENCY_CODES.map((code) => {
|
|
20
22
|
const value = (data?.Valute || {})[code]?.Value;
|
|
21
23
|
return ((0, jsx_runtime_1.jsxs)("tr", { children: [(0, jsx_runtime_1.jsx)(CurrencyTD, { className: "pt-4", children: (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center", children: [CURRENCY_ICONS_MAP[code] ? CURRENCY_ICONS_MAP[code]() : null, (0, jsx_runtime_1.jsx)("span", { className: "ml-2", children: code })] }) }), (0, jsx_runtime_1.jsx)(CurrencyTD, { className: "pt-4 pl-11", children: formatCurrency(value) })] }, code));
|
|
22
24
|
}) })] }) }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExchangeRateTile.js","sourceRoot":"","sources":["../src/ExchangeRateTile.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,yCAAqD;AACrD,iCAA8B;AAU9B,MAAM,qBAAqB,GAAG,4CAA4C,CAAC;AAE3E,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACtC,MAAM,kBAAkB,GAAG;IACzB,GAAG,EAAE,kBAAU;IACf,GAAG,EAAE,gBAAQ;CACd,CAAC;AAEF,MAAM,
|
|
1
|
+
{"version":3,"file":"ExchangeRateTile.js","sourceRoot":"","sources":["../src/ExchangeRateTile.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,yCAAqD;AACrD,iCAA8B;AAU9B,MAAM,qBAAqB,GAAG,4CAA4C,CAAC;AAE3E,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACtC,MAAM,kBAAkB,GAAG;IACzB,GAAG,EAAE,kBAAU;IACf,GAAG,EAAE,gBAAQ;CACd,CAAC;AAEF,MAAM,OAAO,GAAkB;IAC7B;QACE,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,qCAAqC;KAC5C;CACF,CAAC;AAEW,QAAA,gBAAgB,GAAG,IAAA,aAAG,EAAwB,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;IAC3F,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,CAAC;IAChF,OAAO,CACL,uBAAC,WAAI,IACH,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,IAAI,oBAAoB,EACpC,OAAO,EAAE,OAAO,YAEhB,8CACE,4CACE,2CACE,uBAAC,UAAU,uDAAoB,EAC/B,uBAAC,UAAU,IAAC,SAAS,EAAC,OAAO,yCAAkB,IAC5C,GACC,EACR,4CACG,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;wBAC3B,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC;wBAChD,OAAO,CACL,2CACE,uBAAC,UAAU,IAAC,SAAS,EAAC,MAAM,YAC1B,iCAAK,SAAS,EAAC,mBAAmB,aAC/B,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAC7D,iCAAM,SAAS,EAAC,MAAM,YAAE,IAAI,GAAQ,IAChC,GACK,EACb,uBAAC,UAAU,IAAC,SAAS,EAAC,YAAY,YAAE,cAAc,CAAC,KAAK,CAAC,GAAc,KAPhE,IAAI,CAQR,CACN,CAAC;oBACJ,CAAC,CAAC,GACI,IACF,GACH,CACR,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,UAAU,GAAG,IAAA,aAAG,EAAyB,CAAC,EAAE,SAAS,GAAG,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAC/E,+BAAI,SAAS,EAAE,qDAAqD,SAAS,EAAE,YAAG,QAAQ,GAAM,CACjG,CAAC,CAAC;AAEH,MAAM,UAAU,GAAG,IAAA,aAAG,EAAyB,CAAC,EAAE,SAAS,GAAG,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAC/E,+BAAI,SAAS,EAAE,qDAAqD,SAAS,EAAE,YAAG,QAAQ,GAAM,CACjG,CAAC,CAAC;AAEH,KAAK,UAAU,iBAAiB;IAG9B,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACpD,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;AAC/B,CAAC;AAED,MAAM,oBAAoB,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;AAEjG,MAAM,cAAc,GAAG,CAAC,KAAc,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC"}
|
package/dist/MobileAppTile.js
CHANGED
|
@@ -4,6 +4,6 @@ const jsx_runtime_1 = require("@redneckz/uni-jsx/jsx-runtime");
|
|
|
4
4
|
const uni_jsx_1 = require("@redneckz/uni-jsx");
|
|
5
5
|
const Tile_1 = require("./Tile");
|
|
6
6
|
exports.MobileAppTile = (0, uni_jsx_1.JSX)(({ className, context, title = 'Мобильное приложение', qr }) => {
|
|
7
|
-
return ((0, jsx_runtime_1.jsx)(Tile_1.Tile, { className: className, context: context, title: title, children: (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center", children: [qr?.src && qr?.href && ((0, jsx_runtime_1.jsx)("a", { href: qr.href, target: "_blank", children: (0, jsx_runtime_1.jsx)("img", { src: qr.src, alt: title, title: title, width: "164", height: "164", className: "w-[90px] h-[90px] bg-secondary-light" }) })), (0, jsx_runtime_1.jsx)("span", { className: "font-normal text-sm text-secondary-text ml-4", children: "\u041D\u0430\u0432\u0435\u0434\u0438\u0442\u0435 \u043A\u0430\u043C\u0435\u0440\u0443 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0430 \u043D\u0430 QR-\u043A\u043E\u0434 \u0438 \u0441\u043A\u0430\u0447\u0430\u0439\u0442\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435" })] }) }));
|
|
7
|
+
return ((0, jsx_runtime_1.jsx)(Tile_1.Tile, { className: className, context: context, title: title, children: (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center", children: [qr?.src && qr?.href && ((0, jsx_runtime_1.jsx)("a", { href: qr.href, target: "_blank", children: (0, jsx_runtime_1.jsx)("img", { src: qr.src, alt: title, title: title, width: "164", height: "164", className: "w-[90px] h-[90px] min-w-[90px] min-h-[90px] bg-secondary-light" }) })), (0, jsx_runtime_1.jsx)("span", { className: "font-normal text-sm text-secondary-text ml-4", children: "\u041D\u0430\u0432\u0435\u0434\u0438\u0442\u0435 \u043A\u0430\u043C\u0435\u0440\u0443 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0430 \u043D\u0430 QR-\u043A\u043E\u0434 \u0438 \u0441\u043A\u0430\u0447\u0430\u0439\u0442\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435" })] }) }));
|
|
8
8
|
});
|
|
9
9
|
//# sourceMappingURL=MobileAppTile.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MobileAppTile.js","sourceRoot":"","sources":["../src/MobileAppTile.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,iCAA8B;AAejB,QAAA,aAAa,GAAG,IAAA,aAAG,EAC9B,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,GAAG,sBAAsB,EAAE,EAAE,EAAE,EAAE,EAAE;IAC7D,OAAO,CACL,uBAAC,WAAI,IAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,YACxD,iCAAK,SAAS,EAAC,mBAAmB,aAC/B,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,IAAI,IAAI,CACtB,8BAAG,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAC,QAAQ,YAC/B,gCACE,GAAG,EAAE,EAAE,CAAC,GAAG,EACX,GAAG,EAAE,KAAK,EACV,KAAK,EAAE,KAAK,EACZ,KAAK,EAAC,KAAK,EACX,MAAM,EAAC,KAAK,EACZ,SAAS,EAAC,
|
|
1
|
+
{"version":3,"file":"MobileAppTile.js","sourceRoot":"","sources":["../src/MobileAppTile.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,iCAA8B;AAejB,QAAA,aAAa,GAAG,IAAA,aAAG,EAC9B,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,GAAG,sBAAsB,EAAE,EAAE,EAAE,EAAE,EAAE;IAC7D,OAAO,CACL,uBAAC,WAAI,IAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,YACxD,iCAAK,SAAS,EAAC,mBAAmB,aAC/B,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,IAAI,IAAI,CACtB,8BAAG,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAC,QAAQ,YAC/B,gCACE,GAAG,EAAE,EAAE,CAAC,GAAG,EACX,GAAG,EAAE,KAAK,EACV,KAAK,EAAE,KAAK,EACZ,KAAK,EAAC,KAAK,EACX,MAAM,EAAC,KAAK,EACZ,SAAS,EAAC,gEAAgE,GAC1E,GACA,CACL,EACD,iCAAM,SAAS,EAAC,8CAA8C,+SAEvD,IACH,GACD,CACR,CAAC;AACJ,CAAC,CACF,CAAC"}
|
package/dist/ProductBlock.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { ProductBlockInnerContent } from './ProductBlockInner';
|
|
2
2
|
import type { UniBlockProps } from './types';
|
|
3
|
+
import { BreadcrumbProps } from './ui-kit/Breadcrumb';
|
|
3
4
|
export interface ProductBlockProps extends ProductBlockInnerContent, UniBlockProps {
|
|
5
|
+
breadcrumbs?: BreadcrumbProps[];
|
|
4
6
|
}
|
|
5
7
|
export declare const ProductBlock: (props: import("@redneckz/uni-jsx").PropsWithChildren<ProductBlockProps, any>, context?: any) => any;
|
package/dist/ProductBlock.js
CHANGED
|
@@ -3,8 +3,13 @@ exports.ProductBlock = void 0;
|
|
|
3
3
|
const jsx_runtime_1 = require("@redneckz/uni-jsx/jsx-runtime");
|
|
4
4
|
const uni_jsx_1 = require("@redneckz/uni-jsx");
|
|
5
5
|
const ProductBlockInner_1 = require("./ProductBlockInner");
|
|
6
|
+
const Breadcrumb_1 = require("./ui-kit/Breadcrumb");
|
|
7
|
+
const useLink_1 = require("./useLink");
|
|
8
|
+
const joinList_1 = require("./utils/joinList");
|
|
6
9
|
exports.ProductBlock = (0, uni_jsx_1.JSX)((props) => {
|
|
7
|
-
const className = props
|
|
8
|
-
|
|
10
|
+
const { context, className, breadcrumbs } = props;
|
|
11
|
+
const router = context.useRouter();
|
|
12
|
+
const { handlerDecorator } = context;
|
|
13
|
+
return ((0, jsx_runtime_1.jsxs)("section", { className: `font-sans bg-white pl-12 pr-[7.5rem] py-10 ${className || ''}`, children: [breadcrumbs?.length ? ((0, jsx_runtime_1.jsx)("div", { className: "text-xs mb-6", children: (0, joinList_1.joinList)((0, jsx_runtime_1.jsx)("span", { className: "text-secondary-text mx-2", children: "/" }))(breadcrumbs.map((breadcrumb, i) => ((0, jsx_runtime_1.jsx)(Breadcrumb_1.Breadcrumb, { ...(0, useLink_1.useLink)({ router, handlerDecorator }, { className: 'text-secondary-text', ...breadcrumb }) }, String(i))))) })) : null, (0, jsx_runtime_1.jsx)(ProductBlockInner_1.ProductBlockInner, { ...props })] }));
|
|
9
14
|
});
|
|
10
15
|
//# sourceMappingURL=ProductBlock.js.map
|
package/dist/ProductBlock.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductBlock.js","sourceRoot":"","sources":["../src/ProductBlock.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,2DAAwD;
|
|
1
|
+
{"version":3,"file":"ProductBlock.js","sourceRoot":"","sources":["../src/ProductBlock.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,2DAAwD;AAGxD,oDAAkE;AAClE,uCAAoC;AACpC,+CAA4C;AAM/B,QAAA,YAAY,GAAG,IAAA,aAAG,EAAoB,CAAC,KAAK,EAAE,EAAE;IAC3D,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAClD,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IACnC,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC;IACrC,OAAO,CACL,qCAAS,SAAS,EAAE,8CAA8C,SAAS,IAAI,EAAE,EAAE,aAChF,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CACrB,gCAAK,SAAS,EAAC,cAAc,YAC1B,IAAA,mBAAQ,EAAC,iCAAM,SAAS,EAAC,0BAA0B,kBAAS,CAAC,CAC5D,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,CACjC,uBAAC,uBAAU,OAEL,IAAA,iBAAO,EACT,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAC5B,EAAE,SAAS,EAAE,qBAAqB,EAAE,GAAG,UAAU,EAAE,CACpD,IAJI,MAAM,CAAC,CAAC,CAAC,CAKd,CACH,CAAC,CACH,GACG,CACP,CAAC,CAAC,CAAC,IAAI,EACR,uBAAC,qCAAiB,OAAK,KAAK,GAAI,IACxB,CACX,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -1,14 +1,7 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
3
|
-
|
|
4
|
-
export interface ProductBlockInnerContent {
|
|
5
|
-
title?: string;
|
|
6
|
-
description?: string;
|
|
7
|
-
breadcrumbs?: BreadcrumbProps[];
|
|
8
|
-
image?: Picture;
|
|
1
|
+
import type { UniBlockProps, Benefit } from './types';
|
|
2
|
+
import type { BaseTileContent } from './BaseTile';
|
|
3
|
+
export interface ProductBlockInnerContent extends BaseTileContent {
|
|
9
4
|
benefits?: Benefit[];
|
|
10
|
-
items?: string[];
|
|
11
|
-
buttons?: ButtonProps[];
|
|
12
5
|
}
|
|
13
6
|
export interface ProductBlockInnerProps extends ProductBlockInnerContent, UniBlockProps {
|
|
14
7
|
}
|
|
@@ -3,25 +3,13 @@ exports.ProductBlockInner = void 0;
|
|
|
3
3
|
const jsx_runtime_1 = require("@redneckz/uni-jsx/jsx-runtime");
|
|
4
4
|
const uni_jsx_1 = require("@redneckz/uni-jsx");
|
|
5
5
|
const index_1 = require("./Icons/index");
|
|
6
|
+
const BaseTile_1 = require("./BaseTile");
|
|
6
7
|
const Img_1 = require("./Img");
|
|
7
|
-
const BlockItem_1 = require("./ui-kit/BlockItem");
|
|
8
|
-
const Button_1 = require("./ui-kit/Button");
|
|
9
|
-
const Breadcrumb_1 = require("./ui-kit/Breadcrumb");
|
|
10
|
-
const useLink_1 = require("./useLink");
|
|
11
|
-
const joinList_1 = require("./utils/joinList");
|
|
12
8
|
const ICONS = { EmptyWalletIcon: index_1.EmptyWalletIcon, PercentageSquareIcon: index_1.PercentageSquareIcon, CalendarIcon: index_1.CalendarIcon };
|
|
13
|
-
exports.ProductBlockInner = (0, uni_jsx_1.JSX)(({ className, context, title, description,
|
|
14
|
-
|
|
15
|
-
const { handlerDecorator } = context;
|
|
16
|
-
return ((0, jsx_runtime_1.jsxs)("div", { className: `font-sans flex justify-between items-stretch ${className || ''}`, children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col", children: [breadcrumbs?.length ? ((0, jsx_runtime_1.jsx)("div", { className: "text-xs mb-6", children: (0, joinList_1.joinList)((0, jsx_runtime_1.jsx)("span", { className: "text-secondary-text mx-2", children: "/" }))(breadcrumbs.map((breadcrumb, i) => ((0, jsx_runtime_1.jsx)(Breadcrumb_1.Breadcrumb, { ...(0, useLink_1.useLink)({ router, handlerDecorator }, { className: 'text-secondary-text', ...breadcrumb }) }, String(i))))) })) : null, title && ((0, jsx_runtime_1.jsx)("h1", { className: "font-medium text-title-lg m-0 whitespace-pre-wrap max-w-[600px]", children: title })), description && ((0, jsx_runtime_1.jsx)("div", { className: "font-normal text-base max-w-[600px] mt-4", children: description })), benefits?.length ? ((0, jsx_runtime_1.jsx)("div", { className: "flex gap-6 mt-7", children: benefits.map(renderBenefit) })) : null, items?.length ? ((0, jsx_runtime_1.jsx)("section", { className: "mt-5", role: "list", children: items.map((_, i) => ((0, jsx_runtime_1.jsx)(BlockItem_1.BlockItem, { className: "mb-2", text: _ }, String(i)))) })) : null, buttons?.length ? ((0, jsx_runtime_1.jsx)("div", { className: "flex mt-auto gap-4", children: buttons.map((button, index) => renderButton((0, useLink_1.useLink)({ router, handlerDecorator }, button), index)) })) : null] }), image?.src && (0, jsx_runtime_1.jsx)(Img_1.Img, { image: image, className: "mt-auto" })] }));
|
|
9
|
+
exports.ProductBlockInner = (0, uni_jsx_1.JSX)(({ className, context, title, description, benefits, buttons, image, items }) => {
|
|
10
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: `flex justify-between items-stretch ${className || ''}`, children: [(0, jsx_runtime_1.jsxs)("div", { className: 'flex flex-col', children: [title && ((0, jsx_runtime_1.jsx)("h1", { className: "font-medium text-title-lg m-0 whitespace-pre-wrap max-w-[600px]", children: title })), (0, jsx_runtime_1.jsx)(BaseTile_1.BaseTile, { context: context, description: description, items: items, buttons: buttons, children: benefits?.length ? ((0, jsx_runtime_1.jsx)("div", { className: "flex gap-6 mt-6 mb-12", children: benefits.map(renderBenefit) })) : null })] }), image?.src && (0, jsx_runtime_1.jsx)(Img_1.Img, { className: "mt-auto", image: image })] }));
|
|
17
11
|
});
|
|
18
12
|
function renderBenefit(benefit, i) {
|
|
19
13
|
return ((0, jsx_runtime_1.jsxs)("div", { className: "flex gap-4 items-center", children: [benefit.icon && ((0, jsx_runtime_1.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]?.() })), (0, jsx_runtime_1.jsxs)("div", { className: "flex gap-1 flex-col h-full", children: [(0, jsx_runtime_1.jsx)("h4", { className: "font-medium text-xl m-0", children: benefit.label }), benefit.description && ((0, jsx_runtime_1.jsx)("div", { className: "font-normal text-sm text-secondary-text", children: benefit.description }))] })] }, String(i)));
|
|
20
14
|
}
|
|
21
|
-
function renderButton(button, i) {
|
|
22
|
-
return button?.text ? ((0, jsx_runtime_1.jsx)(Button_1.Button, { ...button, className: "mt-8", version: button.version }, String(i))) : null;
|
|
23
|
-
}
|
|
24
|
-
function join(sep) {
|
|
25
|
-
return (list) => list.reduce((acc, el, i) => (acc.length ? acc.concat({ ...sep, key: i }, el) : [el]), []);
|
|
26
|
-
}
|
|
27
15
|
//# sourceMappingURL=ProductBlockInner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductBlockInner.js","sourceRoot":"","sources":["../src/ProductBlockInner.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,yCAAoF;
|
|
1
|
+
{"version":3,"file":"ProductBlockInner.js","sourceRoot":"","sources":["../src/ProductBlockInner.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,yCAAoF;AAEpF,yCAAsC;AAEtC,+BAA4B;AAE5B,MAAM,KAAK,GAAG,EAAE,eAAe,EAAf,uBAAe,EAAE,oBAAoB,EAApB,4BAAoB,EAAE,YAAY,EAAZ,oBAAY,EAAE,CAAC;AAQzD,QAAA,iBAAiB,GAAG,IAAA,aAAG,EAClC,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;IAC9E,OAAO,CACL,iCAAK,SAAS,EAAE,sCAAsC,SAAS,IAAI,EAAE,EAAE,aACrE,iCAAK,SAAS,EAAE,eAAe,aAC5B,KAAK,IAAI,CACR,+BAAI,SAAS,EAAC,iEAAiE,YAC5E,KAAK,GACH,CACN,EACD,uBAAC,mBAAQ,IAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,YACjF,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAClB,gCAAK,SAAS,EAAC,uBAAuB,YAAE,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,GAAO,CAC3E,CAAC,CAAC,CAAC,IAAI,GACC,IACP,EACL,KAAK,EAAE,GAAG,IAAI,uBAAC,SAAG,IAAC,SAAS,EAAC,SAAS,EAAC,KAAK,EAAE,KAAK,GAAI,IACpD,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,SAAS,aAAa,CAAC,OAAgB,EAAE,CAAS;IAChD,OAAO,CACL,iCAAqB,SAAS,EAAC,yBAAyB,aACrD,OAAO,CAAC,IAAI,IAAI,CACf,gCAAK,SAAS,EAAC,sFAAsF,YAClG,KAAK,CAAC,OAAO,CAAC,IAA0B,CAAC,EAAE,EAAE,GAC1C,CACP,EACD,iCAAK,SAAS,EAAC,4BAA4B,aACzC,+BAAI,SAAS,EAAC,yBAAyB,YAAE,OAAO,CAAC,KAAK,GAAM,EAC3D,OAAO,CAAC,WAAW,IAAI,CACtB,gCAAK,SAAS,EAAC,yCAAyC,YAAE,OAAO,CAAC,WAAW,GAAO,CACrF,IACG,KAXE,MAAM,CAAC,CAAC,CAAC,CAYb,CACP,CAAC;AACJ,CAAC"}
|
package/dist/ProductTile.d.ts
CHANGED
|
@@ -1,17 +1,8 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
import type { Benefit } from './types';
|
|
5
|
-
export interface ProductTileContent {
|
|
6
|
-
title?: string;
|
|
7
|
-
description?: string;
|
|
1
|
+
import type { UniBlockProps, Benefit } from './types';
|
|
2
|
+
import type { BaseTileContent } from './BaseTile';
|
|
3
|
+
export interface ProductTileContent extends BaseTileContent {
|
|
8
4
|
benefits?: Benefit[];
|
|
9
|
-
image?: Picture;
|
|
10
|
-
button?: ButtonProps;
|
|
11
|
-
version?: BlockVersion;
|
|
12
5
|
}
|
|
13
|
-
export interface ProductTileProps extends ProductTileContent {
|
|
14
|
-
className?: string;
|
|
15
|
-
context: ContentPageContext;
|
|
6
|
+
export interface ProductTileProps extends ProductTileContent, UniBlockProps {
|
|
16
7
|
}
|
|
17
8
|
export declare const ProductTile: (props: import("@redneckz/uni-jsx").PropsWithChildren<ProductTileProps, any>, context?: any) => any;
|
package/dist/ProductTile.js
CHANGED
|
@@ -2,17 +2,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
2
2
|
exports.ProductTile = void 0;
|
|
3
3
|
const jsx_runtime_1 = require("@redneckz/uni-jsx/jsx-runtime");
|
|
4
4
|
const uni_jsx_1 = require("@redneckz/uni-jsx");
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
primary: 'bg-white text-primary-text',
|
|
10
|
-
secondary: 'bg-primary-main text-white',
|
|
11
|
-
};
|
|
12
|
-
exports.ProductTile = (0, uni_jsx_1.JSX)(({ className, context, title, description, button, image, benefits, version = 'primary' }) => {
|
|
13
|
-
const router = context.useRouter();
|
|
14
|
-
const { handlerDecorator } = context;
|
|
15
|
-
return ((0, jsx_runtime_1.jsx)("section", { className: `font-sans p-9 ${className || ''} ${productTileStyleMap[version]}`, children: (0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col w-full", children: [title && ((0, jsx_runtime_1.jsx)("h3", { className: "font-medium text-title-sm m-0 whitespace-pre-wrap max-w-[600px]", children: title })), description && ((0, jsx_runtime_1.jsx)("div", { className: "font-normal text-base max-w-[600px] mt-4", children: description })), (0, jsx_runtime_1.jsxs)("div", { className: "flex mt-5", children: [(0, jsx_runtime_1.jsxs)("div", { className: "grow flex flex-col", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex", children: [benefits?.length ? ((0, jsx_runtime_1.jsx)("div", { className: "mr-8", children: benefits.map(renderBenefitDescription) })) : null, benefits?.length ? ((0, jsx_runtime_1.jsx)("div", { className: "pt-1", children: benefits.map((_, i) => renderBenefitLabel(_, i, version)) })) : null] }), button?.text && ((0, jsx_runtime_1.jsx)("div", { className: "mt-auto", children: (0, jsx_runtime_1.jsx)(Button_1.Button, { className: "mt-8", ...(0, useLink_1.useLink)({ router, handlerDecorator }, button), version: "secondary" }) }))] }), image && ((0, jsx_runtime_1.jsx)("div", { className: "mt-auto flex-none h-[220px] w-[220px]", children: (0, jsx_runtime_1.jsx)(Img_1.Img, { image: image }) }))] })] }) }));
|
|
5
|
+
const Tile_1 = require("./Tile");
|
|
6
|
+
exports.ProductTile = (0, uni_jsx_1.JSX)((props) => {
|
|
7
|
+
const { benefits, version } = props;
|
|
8
|
+
return ((0, jsx_runtime_1.jsx)(Tile_1.Tile, { ...props, children: (0, jsx_runtime_1.jsxs)("div", { className: "flex mt-5 mb-10", children: [benefits?.length ? ((0, jsx_runtime_1.jsx)("div", { className: "mr-8", children: benefits.map(renderBenefitDescription) })) : null, benefits?.length ? ((0, jsx_runtime_1.jsx)("div", { className: "pt-1", children: benefits.map((_, i) => renderBenefitLabel(_, i, version)) })) : null] }) }));
|
|
16
9
|
});
|
|
17
10
|
function renderBenefitLabel(benefit, i, version = 'primary') {
|
|
18
11
|
const labelStyleMap = {
|
package/dist/ProductTile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductTile.js","sourceRoot":"","sources":["../src/ProductTile.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;
|
|
1
|
+
{"version":3,"file":"ProductTile.js","sourceRoot":"","sources":["../src/ProductTile.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AAGxC,iCAA8B;AASjB,QAAA,WAAW,GAAG,IAAA,aAAG,EAAmB,CAAC,KAAK,EAAE,EAAE;IACzD,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IACpC,OAAO,CACL,uBAAC,WAAI,OAAK,KAAK,YACb,iCAAK,SAAS,EAAC,iBAAiB,aAC7B,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAClB,gCAAK,SAAS,EAAC,MAAM,YAAE,QAAQ,CAAC,GAAG,CAAC,wBAAwB,CAAC,GAAO,CACrE,CAAC,CAAC,CAAC,IAAI,EACP,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAClB,gCAAK,SAAS,EAAC,MAAM,YAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,GAAO,CACxF,CAAC,CAAC,CAAC,IAAI,IACJ,GACD,CACR,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,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,gCAAqB,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,gCAAqB,SAAS,EAAC,4BAA4B,YACxD,OAAO,CAAC,WAAW,IADZ,MAAM,CAAC,CAAC,CAAC,CAEb,CACP,CAAC;AACJ,CAAC"}
|
package/dist/Tile.d.ts
CHANGED
|
@@ -1,13 +1,5 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
3
|
-
export interface
|
|
4
|
-
title?: string;
|
|
5
|
-
description?: string;
|
|
6
|
-
image?: Picture;
|
|
7
|
-
items?: string[];
|
|
8
|
-
button?: ButtonProps;
|
|
9
|
-
version?: BlockVersion;
|
|
10
|
-
}
|
|
11
|
-
export interface TileProps extends TileContent, UniBlockProps {
|
|
1
|
+
import type { UniBlockProps } from './types';
|
|
2
|
+
import type { BaseTileContent } from './BaseTile';
|
|
3
|
+
export interface TileProps extends BaseTileContent, UniBlockProps {
|
|
12
4
|
}
|
|
13
5
|
export declare const Tile: (props: import("@redneckz/uni-jsx").PropsWithChildren<TileProps, any>, context?: any) => any;
|
package/dist/Tile.js
CHANGED
|
@@ -2,35 +2,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
2
2
|
exports.Tile = void 0;
|
|
3
3
|
const jsx_runtime_1 = require("@redneckz/uni-jsx/jsx-runtime");
|
|
4
4
|
const uni_jsx_1 = require("@redneckz/uni-jsx");
|
|
5
|
-
const
|
|
6
|
-
const BlockItem_1 = require("./ui-kit/BlockItem");
|
|
7
|
-
const Button_1 = require("./ui-kit/Button");
|
|
8
|
-
const useLink_1 = require("./useLink");
|
|
5
|
+
const BaseTile_1 = require("./BaseTile");
|
|
9
6
|
const tileStyleMap = {
|
|
10
7
|
primary: 'bg-white text-primary-text',
|
|
11
8
|
secondary: 'bg-primary-main text-white',
|
|
12
9
|
};
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const { handlerDecorator } = context;
|
|
17
|
-
return ((0, jsx_runtime_1.jsxs)("section", { className: `flex flex-col font-sans p-9 ${className || ''} ${tileStyleMap[version]}`, children: [title && renderTitle(title, className), (0, jsx_runtime_1.jsxs)("div", { className: "grow flex justify-between mt-6", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col justify-between items-start", children: [description || children ? ((0, jsx_runtime_1.jsx)("div", { className: "font-normal text-base max-w-[600px]", children: description || children })) : (renderItems(items, version)), button?.text && ((0, jsx_runtime_1.jsx)(Button_1.Button, { className: "mt-6", ...(0, useLink_1.useLink)({ router, handlerDecorator }, button), version: "secondary" }))] }), image?.src && (0, jsx_runtime_1.jsx)(Img_1.Img, { className: "mt-auto h-[220px] w-[220px]", image: image })] })] }));
|
|
10
|
+
exports.Tile = (0, uni_jsx_1.JSX)((props) => {
|
|
11
|
+
const { children, className, version = 'primary' } = props;
|
|
12
|
+
return ((0, jsx_runtime_1.jsx)("section", { className: `font-sans p-9 ${className || ''} ${tileStyleMap[version]}`, children: (0, jsx_runtime_1.jsx)(BaseTile_1.BaseTile, { ...props, children: children }) }));
|
|
18
13
|
});
|
|
19
|
-
function renderTitle(title, className = '') {
|
|
20
|
-
const colSpanPrefix = 'col-span-';
|
|
21
|
-
const colSpanStr = className.split(/\s+/).find((_) => _.startsWith(colSpanPrefix));
|
|
22
|
-
const colSpan = colSpanStr ? parseInt(colSpanStr.substring(colSpanPrefix.length), 10) : 12;
|
|
23
|
-
if (colSpan <= 4) {
|
|
24
|
-
return (0, jsx_runtime_1.jsx)("h3", { className: `${TITLE_CLASSES} text-title-xs`, children: title });
|
|
25
|
-
}
|
|
26
|
-
else if (colSpan <= 8) {
|
|
27
|
-
return (0, jsx_runtime_1.jsx)("h3", { className: `${TITLE_CLASSES} text-title-sm`, children: title });
|
|
28
|
-
}
|
|
29
|
-
else {
|
|
30
|
-
return (0, jsx_runtime_1.jsx)("h2", { className: `${TITLE_CLASSES} text-title`, children: title });
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
function renderItems(items, version) {
|
|
34
|
-
return items?.length ? ((0, jsx_runtime_1.jsx)("section", { className: "max-w-[600px]", role: "list", children: items.map((_, i) => ((0, jsx_runtime_1.jsx)(BlockItem_1.BlockItem, { className: i ? 'mt-2.5' : '', text: _, version: version }, String(i)))) })) : null;
|
|
35
|
-
}
|
|
36
14
|
//# sourceMappingURL=Tile.js.map
|
package/dist/Tile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tile.js","sourceRoot":"","sources":["../src/Tile.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;
|
|
1
|
+
{"version":3,"file":"Tile.js","sourceRoot":"","sources":["../src/Tile.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AAExC,yCAAsC;AAKtC,MAAM,YAAY,GAAiC;IACjD,OAAO,EAAE,4BAA4B;IACrC,SAAS,EAAE,4BAA4B;CACxC,CAAC;AAEW,QAAA,IAAI,GAAG,IAAA,aAAG,EAAY,CAAC,KAAK,EAAE,EAAE;IAC3C,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,GAAG,SAAS,EAAE,GAAG,KAAK,CAAC;IAC3D,OAAO,CACL,oCAAS,SAAS,EAAE,iBAAiB,SAAS,IAAI,EAAE,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,YAC7E,uBAAC,mBAAQ,OAAK,KAAK,YAAG,QAAQ,GAAY,GAClC,CACX,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -13,7 +13,7 @@ async function transformContentPage(pagePath, options) {
|
|
|
13
13
|
const content = await readFile(pagePath, 'utf8');
|
|
14
14
|
return (0, mapJSON_1.mapJSON)(JSON.parse(content), async (value, [key]) => {
|
|
15
15
|
const isMarkdown = typeof value === 'string' && key?.endsWith('__md');
|
|
16
|
-
const isPicture = value && value.src
|
|
16
|
+
const isPicture = value && isLocalPath(value.src);
|
|
17
17
|
if (isMarkdown) {
|
|
18
18
|
return await (0, transformMarkdown_1.transformMarkdown)(value);
|
|
19
19
|
}
|
|
@@ -24,4 +24,7 @@ async function transformContentPage(pagePath, options) {
|
|
|
24
24
|
});
|
|
25
25
|
}
|
|
26
26
|
exports.transformContentPage = transformContentPage;
|
|
27
|
+
const isLocalPath = (_) => isString(_) && _.length < 512 && !isURL(_);
|
|
28
|
+
const isString = (_) => Boolean(_ && typeof _ === 'string');
|
|
29
|
+
const isURL = (src) => ['data:', 'https:', 'http:'].some((proto) => src.startsWith(proto));
|
|
27
30
|
//# sourceMappingURL=transformContentPage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transformContentPage.js","sourceRoot":"","sources":["../../src/content-page-repository/transformContentPage.ts"],"names":[],"mappings":";;;;;AAAA,4CAAoB;AACpB,gDAAwB;AAExB,uCAAoC;AAEpC,2DAAwD;AACxD,yDAAsD;AAEtD,MAAM,QAAQ,GAAG,cAAI,CAAC,SAAS,CAAC,YAAE,CAAC,QAAQ,CAAC,CAAC;AAEtC,KAAK,UAAU,oBAAoB,CACxC,QAAgB,EAChB,OAA8B;IAE9B,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACjD,OAAO,IAAA,iBAAO,EAAiB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,KAAU,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE;QAC9E,MAAM,UAAU,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACtE,MAAM,SAAS,GAAG,KAAK,IAAI,
|
|
1
|
+
{"version":3,"file":"transformContentPage.js","sourceRoot":"","sources":["../../src/content-page-repository/transformContentPage.ts"],"names":[],"mappings":";;;;;AAAA,4CAAoB;AACpB,gDAAwB;AAExB,uCAAoC;AAEpC,2DAAwD;AACxD,yDAAsD;AAEtD,MAAM,QAAQ,GAAG,cAAI,CAAC,SAAS,CAAC,YAAE,CAAC,QAAQ,CAAC,CAAC;AAEtC,KAAK,UAAU,oBAAoB,CACxC,QAAgB,EAChB,OAA8B;IAE9B,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACjD,OAAO,IAAA,iBAAO,EAAiB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,KAAU,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE;QAC9E,MAAM,UAAU,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACtE,MAAM,SAAS,GAAG,KAAK,IAAI,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClD,IAAI,UAAU,EAAE;YACd,OAAO,MAAM,IAAA,qCAAiB,EAAC,KAAK,CAAC,CAAC;SACvC;aAAM,IAAI,SAAS,EAAE;YACpB,OAAO,MAAM,IAAA,mCAAgB,EAAC,QAAQ,EAAE,KAAgB,EAAE,OAAO,CAAC,CAAC;SACpE;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC;AAfD,oDAeC;AAED,MAAM,WAAW,GAAG,CAAC,CAAM,EAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAEpF,MAAM,QAAQ,GAAG,CAAC,CAAM,EAAe,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;AAE9E,MAAM,KAAK,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { BlockVersion, Picture, UniBlockProps } from './types';
|
|
2
|
+
import type { ButtonProps } from './ui-kit/Button';
|
|
3
|
+
export interface BaseTileContent {
|
|
4
|
+
title?: string;
|
|
5
|
+
description?: string;
|
|
6
|
+
image?: Picture;
|
|
7
|
+
items?: string[];
|
|
8
|
+
buttons?: ButtonProps[];
|
|
9
|
+
version?: BlockVersion;
|
|
10
|
+
}
|
|
11
|
+
export interface BaseTileProps extends BaseTileContent, UniBlockProps {
|
|
12
|
+
}
|
|
13
|
+
export declare const BaseTile: (props: import("@redneckz/uni-jsx").PropsWithChildren<BaseTileProps, any>, context?: any) => any;
|
package/lib/BaseTile.js
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
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 { BlockItem } from './ui-kit/BlockItem.js';
|
|
5
|
+
import { Button } from './ui-kit/Button.js';
|
|
6
|
+
import { useLink } from './useLink.js';
|
|
7
|
+
const TITLE_CLASSES = 'font-medium m-0 mb-4 whitespace-pre-wrap max-w-[600px]';
|
|
8
|
+
export const BaseTile = JSX(({ className, context, title, description, children, buttons, image, items, version = 'primary', }) => {
|
|
9
|
+
const router = context.useRouter();
|
|
10
|
+
const { handlerDecorator } = context;
|
|
11
|
+
return (_jsxs("div", { className: `font-sans flex flex-col grow h-full`, children: [title && renderTitle(title, className), _jsxs("div", { className: "flex grow justify-between mt-4", children: [_jsxs("div", { className: "flex flex-col justify-between items-start", children: [_jsxs("div", { children: [description ? (_jsx("div", { className: "font-normal text-base max-w-[600px] mb-6", children: description })) : null, children, items?.length ? renderItems(items, version) : null] }), buttons?.length ? (_jsx("div", { className: "flex mt-6 gap-4", children: buttons.map((button, index) => renderButton(useLink({ router, handlerDecorator }, button), index)) })) : null] }), image?.src && _jsx(Img, { className: "mt-auto", image: image })] })] }));
|
|
12
|
+
});
|
|
13
|
+
function renderTitle(title, className = '') {
|
|
14
|
+
const colSpanPrefix = 'col-span-';
|
|
15
|
+
const colSpanStr = className.split(/\s+/).find((_) => _.startsWith(colSpanPrefix));
|
|
16
|
+
const colSpan = colSpanStr ? parseInt(colSpanStr.substring(colSpanPrefix.length), 10) : 12;
|
|
17
|
+
if (colSpan <= 4) {
|
|
18
|
+
return _jsx("h3", { className: `${TITLE_CLASSES} text-title-xs`, children: title });
|
|
19
|
+
}
|
|
20
|
+
else if (colSpan <= 8) {
|
|
21
|
+
return _jsx("h3", { className: `${TITLE_CLASSES} text-title-sm`, children: title });
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
return _jsx("h2", { className: `${TITLE_CLASSES} text-title`, children: title });
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
function renderItems(items = [], version) {
|
|
28
|
+
return (_jsx("section", { className: "max-w-[600px]", role: "list", children: items.map((_, i) => (_jsx(BlockItem, { className: i ? 'mt-2.5' : '', text: _, version: version }, String(i)))) }));
|
|
29
|
+
}
|
|
30
|
+
function renderButton(button, i) {
|
|
31
|
+
return button?.text ? _jsx(Button, { ...button, version: button.version }, String(i)) : null;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=BaseTile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseTile.js","sourceRoot":"","sources":["../src/BaseTile.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;AAYpC,MAAM,aAAa,GAAG,wDAAwD,CAAC;AAE/E,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,CACzB,CAAC,EACC,SAAS,EACT,OAAO,EACP,KAAK,EACL,WAAW,EACX,QAAQ,EACR,OAAO,EACP,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,eAAK,SAAS,EAAE,qCAAqC,aAClD,KAAK,IAAI,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,EACvC,eAAK,SAAS,EAAC,gCAAgC,aAC7C,eAAK,SAAS,EAAC,2CAA2C,aACxD,0BACG,WAAW,CAAC,CAAC,CAAC,CACb,cAAK,SAAS,EAAC,0CAA0C,YAAE,WAAW,GAAO,CAC9E,CAAC,CAAC,CAAC,IAAI,EACP,QAAQ,EACR,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAC/C,EACL,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CACjB,cAAK,SAAS,EAAC,iBAAiB,YAC7B,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAC7B,YAAY,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,CACnE,GACG,CACP,CAAC,CAAC,CAAC,IAAI,IACJ,EACL,KAAK,EAAE,GAAG,IAAI,KAAC,GAAG,IAAC,SAAS,EAAC,SAAS,EAAC,KAAK,EAAE,KAAK,GAAI,IACpD,IACF,CACP,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,QAAkB,EAAE,EAAE,OAAsB;IAC/D,OAAO,CACL,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;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,MAAmB,EAAE,CAAS;IAClD,OAAO,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,KAAC,MAAM,OAAqB,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,IAA9C,MAAM,CAAC,CAAC,CAAC,CAAyC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/F,CAAC"}
|
package/lib/Blocks.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ import { ProductBlockInnerContent } from './ProductBlockInner';
|
|
|
8
8
|
import { ProductGalleryContent } from './ProductGallery';
|
|
9
9
|
import { StepsBlockContent } from './StepsBlock';
|
|
10
10
|
import { ProductTileContent } from './ProductTile';
|
|
11
|
-
import {
|
|
11
|
+
import { BaseTileContent } from './BaseTile';
|
|
12
12
|
export declare const Blocks: {
|
|
13
13
|
Header: (props: import("@redneckz/uni-jsx").PropsWithChildren<import("./Header/Header").HeaderProps, any>, context?: any) => any;
|
|
14
14
|
Footer: (props: import("@redneckz/uni-jsx").PropsWithChildren<import("./Footer/Footer").FooterProps, any>, context?: any) => any;
|
|
@@ -22,4 +22,4 @@ export declare const Blocks: {
|
|
|
22
22
|
ExchangeRateTile: (props: import("@redneckz/uni-jsx").PropsWithChildren<import("./ExchangeRateTile").ExchangeRateTileProps, any>, context?: any) => any;
|
|
23
23
|
MobileAppTile: (props: import("@redneckz/uni-jsx").PropsWithChildren<import("./MobileAppTile").MobileAppTileProps, any>, context?: any) => any;
|
|
24
24
|
};
|
|
25
|
-
export declare type BlockContent = HeaderContent | FooterContent | PlaceholderContent |
|
|
25
|
+
export declare type BlockContent = HeaderContent | FooterContent | PlaceholderContent | BaseTileContent | ProductTileContent | ProductBlockInnerContent | StepsBlockContent | BenefitsBlockContent | ProductGalleryContent | ExchangeRateTileContent | MobileAppTileContent;
|
package/lib/Blocks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Blocks.js","sourceRoot":"","sources":["../src/Blocks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAwB,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAA2B,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,MAAM,EAAiB,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAiB,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAwB,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAsB,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAyB,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,UAAU,EAAqB,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAsB,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"Blocks.js","sourceRoot":"","sources":["../src/Blocks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAwB,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAA2B,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,MAAM,EAAiB,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAiB,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAwB,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAsB,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAyB,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,UAAU,EAAqB,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAsB,MAAM,eAAe,CAAC;AAEhE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,MAAM;IACN,MAAM;IACN,WAAW;IACX,IAAI;IACJ,WAAW;IACX,YAAY;IACZ,UAAU;IACV,aAAa;IACb,cAAc;IACd,gBAAgB;IAChB,aAAa;CACd,CAAC"}
|
package/lib/ExchangeRateTile.js
CHANGED
|
@@ -8,13 +8,15 @@ const CURRENCY_ICONS_MAP = {
|
|
|
8
8
|
USD: DollarIcon,
|
|
9
9
|
EUR: EuroIcon,
|
|
10
10
|
};
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
const buttons = [
|
|
12
|
+
{
|
|
13
|
+
text: 'Все показатели',
|
|
14
|
+
href: 'https://cbr.ru/currency_base/daily/',
|
|
15
|
+
},
|
|
16
|
+
];
|
|
15
17
|
export const ExchangeRateTile = JSX(({ className, context, title }) => {
|
|
16
18
|
const { data } = context.useAsyncData(CBR_EXCHANGE_RATE_URL, fetchExchangeRate);
|
|
17
|
-
return (_jsx(Tile, { className: className, context: context, title: title || 'Курсы обмена валют',
|
|
19
|
+
return (_jsx(Tile, { className: className, context: context, title: title || 'Курсы обмена валют', buttons: buttons, children: _jsxs("table", { children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx(CurrencyTH, { children: "\u0412\u0430\u043B\u044E\u0442\u0430" }), _jsx(CurrencyTH, { className: "pl-11", children: "\u041A\u0443\u0440\u0441" })] }) }), _jsx("tbody", { children: CURRENCY_CODES.map((code) => {
|
|
18
20
|
const value = (data?.Valute || {})[code]?.Value;
|
|
19
21
|
return (_jsxs("tr", { children: [_jsx(CurrencyTD, { className: "pt-4", children: _jsxs("div", { className: "flex items-center", children: [CURRENCY_ICONS_MAP[code] ? CURRENCY_ICONS_MAP[code]() : null, _jsx("span", { className: "ml-2", children: code })] }) }), _jsx(CurrencyTD, { className: "pt-4 pl-11", children: formatCurrency(value) })] }, code));
|
|
20
22
|
}) })] }) }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExchangeRateTile.js","sourceRoot":"","sources":["../src/ExchangeRateTile.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAU9B,MAAM,qBAAqB,GAAG,4CAA4C,CAAC;AAE3E,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACtC,MAAM,kBAAkB,GAAG;IACzB,GAAG,EAAE,UAAU;IACf,GAAG,EAAE,QAAQ;CACd,CAAC;AAEF,MAAM,
|
|
1
|
+
{"version":3,"file":"ExchangeRateTile.js","sourceRoot":"","sources":["../src/ExchangeRateTile.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAU9B,MAAM,qBAAqB,GAAG,4CAA4C,CAAC;AAE3E,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACtC,MAAM,kBAAkB,GAAG;IACzB,GAAG,EAAE,UAAU;IACf,GAAG,EAAE,QAAQ;CACd,CAAC;AAEF,MAAM,OAAO,GAAkB;IAC7B;QACE,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,qCAAqC;KAC5C;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAwB,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;IAC3F,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,CAAC;IAChF,OAAO,CACL,KAAC,IAAI,IACH,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,IAAI,oBAAoB,EACpC,OAAO,EAAE,OAAO,YAEhB,4BACE,0BACE,yBACE,KAAC,UAAU,uDAAoB,EAC/B,KAAC,UAAU,IAAC,SAAS,EAAC,OAAO,yCAAkB,IAC5C,GACC,EACR,0BACG,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;wBAC3B,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC;wBAChD,OAAO,CACL,yBACE,KAAC,UAAU,IAAC,SAAS,EAAC,MAAM,YAC1B,eAAK,SAAS,EAAC,mBAAmB,aAC/B,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAC7D,eAAM,SAAS,EAAC,MAAM,YAAE,IAAI,GAAQ,IAChC,GACK,EACb,KAAC,UAAU,IAAC,SAAS,EAAC,YAAY,YAAE,cAAc,CAAC,KAAK,CAAC,GAAc,KAPhE,IAAI,CAQR,CACN,CAAC;oBACJ,CAAC,CAAC,GACI,IACF,GACH,CACR,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,UAAU,GAAG,GAAG,CAAyB,CAAC,EAAE,SAAS,GAAG,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAC/E,aAAI,SAAS,EAAE,qDAAqD,SAAS,EAAE,YAAG,QAAQ,GAAM,CACjG,CAAC,CAAC;AAEH,MAAM,UAAU,GAAG,GAAG,CAAyB,CAAC,EAAE,SAAS,GAAG,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAC/E,aAAI,SAAS,EAAE,qDAAqD,SAAS,EAAE,YAAG,QAAQ,GAAM,CACjG,CAAC,CAAC;AAEH,KAAK,UAAU,iBAAiB;IAG9B,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACpD,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;AAC/B,CAAC;AAED,MAAM,oBAAoB,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;AAEjG,MAAM,cAAc,GAAG,CAAC,KAAc,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC"}
|
package/lib/MobileAppTile.js
CHANGED
|
@@ -2,6 +2,6 @@ import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
|
|
|
2
2
|
import { JSX } from '@redneckz/uni-jsx';
|
|
3
3
|
import { Tile } from './Tile.js';
|
|
4
4
|
export const MobileAppTile = JSX(({ className, context, title = 'Мобильное приложение', qr }) => {
|
|
5
|
-
return (_jsx(Tile, { className: className, context: context, title: title, children: _jsxs("div", { className: "flex items-center", children: [qr?.src && qr?.href && (_jsx("a", { href: qr.href, target: "_blank", children: _jsx("img", { src: qr.src, alt: title, title: title, width: "164", height: "164", className: "w-[90px] h-[90px] bg-secondary-light" }) })), _jsx("span", { className: "font-normal text-sm text-secondary-text ml-4", children: "\u041D\u0430\u0432\u0435\u0434\u0438\u0442\u0435 \u043A\u0430\u043C\u0435\u0440\u0443 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0430 \u043D\u0430 QR-\u043A\u043E\u0434 \u0438 \u0441\u043A\u0430\u0447\u0430\u0439\u0442\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435" })] }) }));
|
|
5
|
+
return (_jsx(Tile, { className: className, context: context, title: title, children: _jsxs("div", { className: "flex items-center", children: [qr?.src && qr?.href && (_jsx("a", { href: qr.href, target: "_blank", children: _jsx("img", { src: qr.src, alt: title, title: title, width: "164", height: "164", className: "w-[90px] h-[90px] min-w-[90px] min-h-[90px] bg-secondary-light" }) })), _jsx("span", { className: "font-normal text-sm text-secondary-text ml-4", children: "\u041D\u0430\u0432\u0435\u0434\u0438\u0442\u0435 \u043A\u0430\u043C\u0435\u0440\u0443 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0430 \u043D\u0430 QR-\u043A\u043E\u0434 \u0438 \u0441\u043A\u0430\u0447\u0430\u0439\u0442\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435" })] }) }));
|
|
6
6
|
});
|
|
7
7
|
//# sourceMappingURL=MobileAppTile.js.map
|
package/lib/MobileAppTile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MobileAppTile.js","sourceRoot":"","sources":["../src/MobileAppTile.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAe9B,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAC9B,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,GAAG,sBAAsB,EAAE,EAAE,EAAE,EAAE,EAAE;IAC7D,OAAO,CACL,KAAC,IAAI,IAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,YACxD,eAAK,SAAS,EAAC,mBAAmB,aAC/B,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,IAAI,IAAI,CACtB,YAAG,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAC,QAAQ,YAC/B,cACE,GAAG,EAAE,EAAE,CAAC,GAAG,EACX,GAAG,EAAE,KAAK,EACV,KAAK,EAAE,KAAK,EACZ,KAAK,EAAC,KAAK,EACX,MAAM,EAAC,KAAK,EACZ,SAAS,EAAC,
|
|
1
|
+
{"version":3,"file":"MobileAppTile.js","sourceRoot":"","sources":["../src/MobileAppTile.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAe9B,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAC9B,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,GAAG,sBAAsB,EAAE,EAAE,EAAE,EAAE,EAAE;IAC7D,OAAO,CACL,KAAC,IAAI,IAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,YACxD,eAAK,SAAS,EAAC,mBAAmB,aAC/B,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,IAAI,IAAI,CACtB,YAAG,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAC,QAAQ,YAC/B,cACE,GAAG,EAAE,EAAE,CAAC,GAAG,EACX,GAAG,EAAE,KAAK,EACV,KAAK,EAAE,KAAK,EACZ,KAAK,EAAC,KAAK,EACX,MAAM,EAAC,KAAK,EACZ,SAAS,EAAC,gEAAgE,GAC1E,GACA,CACL,EACD,eAAM,SAAS,EAAC,8CAA8C,+SAEvD,IACH,GACD,CACR,CAAC;AACJ,CAAC,CACF,CAAC"}
|
package/lib/ProductBlock.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { ProductBlockInnerContent } from './ProductBlockInner';
|
|
2
2
|
import type { UniBlockProps } from './types';
|
|
3
|
+
import { BreadcrumbProps } from './ui-kit/Breadcrumb';
|
|
3
4
|
export interface ProductBlockProps extends ProductBlockInnerContent, UniBlockProps {
|
|
5
|
+
breadcrumbs?: BreadcrumbProps[];
|
|
4
6
|
}
|
|
5
7
|
export declare const ProductBlock: (props: import("@redneckz/uni-jsx").PropsWithChildren<ProductBlockProps, any>, context?: any) => any;
|
package/lib/ProductBlock.js
CHANGED
|
@@ -1,8 +1,13 @@
|
|
|
1
|
-
import { jsx as _jsx } from "@redneckz/uni-jsx/jsx-runtime";
|
|
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 { ProductBlockInner } from './ProductBlockInner.js';
|
|
4
|
+
import { Breadcrumb } from './ui-kit/Breadcrumb.js';
|
|
5
|
+
import { useLink } from './useLink.js';
|
|
6
|
+
import { joinList } from './utils/joinList.js';
|
|
4
7
|
export const ProductBlock = JSX((props) => {
|
|
5
|
-
const className = props
|
|
6
|
-
|
|
8
|
+
const { context, className, breadcrumbs } = props;
|
|
9
|
+
const router = context.useRouter();
|
|
10
|
+
const { handlerDecorator } = context;
|
|
11
|
+
return (_jsxs("section", { className: `font-sans bg-white pl-12 pr-[7.5rem] py-10 ${className || ''}`, 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, _jsx(ProductBlockInner, { ...props })] }));
|
|
7
12
|
});
|
|
8
13
|
//# sourceMappingURL=ProductBlock.js.map
|
package/lib/ProductBlock.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductBlock.js","sourceRoot":"","sources":["../src/ProductBlock.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"ProductBlock.js","sourceRoot":"","sources":["../src/ProductBlock.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,EAAE,UAAU,EAAmB,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAM5C,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAoB,CAAC,KAAK,EAAE,EAAE;IAC3D,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAClD,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IACnC,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC;IACrC,OAAO,CACL,mBAAS,SAAS,EAAE,8CAA8C,SAAS,IAAI,EAAE,EAAE,aAChF,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CACrB,cAAK,SAAS,EAAC,cAAc,YAC1B,QAAQ,CAAC,eAAM,SAAS,EAAC,0BAA0B,kBAAS,CAAC,CAC5D,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,CACjC,KAAC,UAAU,OAEL,OAAO,CACT,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAC5B,EAAE,SAAS,EAAE,qBAAqB,EAAE,GAAG,UAAU,EAAE,CACpD,IAJI,MAAM,CAAC,CAAC,CAAC,CAKd,CACH,CAAC,CACH,GACG,CACP,CAAC,CAAC,CAAC,IAAI,EACR,KAAC,iBAAiB,OAAK,KAAK,GAAI,IACxB,CACX,CAAC;AACJ,CAAC,CAAC,CAAC"}
|