@redneckz/wildless-cms-uni-blocks 0.3.75 → 0.3.76
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/bundle/blocks.schema.json +1 -1
- package/bundle/bundle.umd.js +13 -13
- package/bundle/bundle.umd.min.js +1 -1
- package/dist/components/Calculator/renderRate.js +1 -1
- package/dist/components/Calculator/renderRate.js.map +1 -1
- package/dist/components/Catalog/Catalog.js +2 -2
- package/dist/components/Catalog/Catalog.js.map +1 -1
- package/dist/components/Catalog/CatalogContent.d.ts +1 -0
- package/dist/components/ProductTile/ProductTile.js +7 -8
- package/dist/components/ProductTile/ProductTile.js.map +1 -1
- package/dist/ui-kit/Button/ButtonInner.js +2 -2
- package/dist/ui-kit/Button/ButtonInner.js.map +1 -1
- package/dist/ui-kit/Foldable/Foldable.js +1 -1
- package/dist/ui-kit/Foldable/Foldable.js.map +1 -1
- package/lib/common.css +1 -1
- package/lib/components/Calculator/renderRate.js +1 -1
- package/lib/components/Calculator/renderRate.js.map +1 -1
- package/lib/components/Catalog/Catalog.js +2 -2
- package/lib/components/Catalog/Catalog.js.map +1 -1
- package/lib/components/Catalog/CatalogContent.d.ts +1 -0
- package/lib/components/ProductTile/ProductTile.js +7 -8
- package/lib/components/ProductTile/ProductTile.js.map +1 -1
- package/lib/ui-kit/Button/ButtonInner.js +2 -2
- package/lib/ui-kit/Button/ButtonInner.js.map +1 -1
- package/lib/ui-kit/Foldable/Foldable.js +1 -1
- package/lib/ui-kit/Foldable/Foldable.js.map +1 -1
- package/mobile/bundle/bundle.umd.js +2 -2
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/dist/components/Calculator/renderRate.js +1 -1
- package/mobile/dist/components/Calculator/renderRate.js.map +1 -1
- package/mobile/dist/components/Catalog/Catalog.js +2 -2
- package/mobile/dist/components/Catalog/Catalog.js.map +1 -1
- package/mobile/dist/components/Catalog/CatalogContent.d.ts +1 -0
- package/mobile/dist/components/ProductTile/ProductTile.js +7 -8
- package/mobile/dist/components/ProductTile/ProductTile.js.map +1 -1
- package/mobile/dist/ui-kit/Button/ButtonInner.js +2 -2
- package/mobile/dist/ui-kit/Button/ButtonInner.js.map +1 -1
- package/mobile/dist/ui-kit/Foldable/Foldable.js +1 -1
- package/mobile/dist/ui-kit/Foldable/Foldable.js.map +1 -1
- package/mobile/lib/components/Calculator/renderRate.js +1 -1
- package/mobile/lib/components/Calculator/renderRate.js.map +1 -1
- package/mobile/lib/components/Catalog/Catalog.js +2 -2
- package/mobile/lib/components/Catalog/Catalog.js.map +1 -1
- package/mobile/lib/components/Catalog/CatalogContent.d.ts +1 -0
- package/mobile/lib/components/ProductTile/ProductTile.js +7 -8
- package/mobile/lib/components/ProductTile/ProductTile.js.map +1 -1
- package/mobile/lib/ui-kit/Button/ButtonInner.js +2 -2
- package/mobile/lib/ui-kit/Button/ButtonInner.js.map +1 -1
- package/mobile/lib/ui-kit/Foldable/Foldable.js +1 -1
- package/mobile/lib/ui-kit/Foldable/Foldable.js.map +1 -1
- package/mobile/src/components/Calculator/renderRate.tsx +1 -3
- package/mobile/src/components/Catalog/Catalog.tsx +2 -1
- package/mobile/src/components/Catalog/CatalogContent.ts +1 -0
- package/mobile/src/components/ProductTile/ProductTile.tsx +28 -30
- package/mobile/src/ui-kit/Button/ButtonInner.tsx +2 -2
- package/mobile/src/ui-kit/Foldable/Foldable.tsx +1 -1
- package/package.json +2 -2
- package/src/components/Calculator/renderRate.tsx +1 -3
- package/src/components/Catalog/Catalog.tsx +2 -1
- package/src/components/Catalog/CatalogContent.ts +1 -0
- package/src/components/ProductTile/ProductTile.tsx +28 -30
- package/src/ui-kit/Button/ButtonInner.tsx +2 -2
- package/src/ui-kit/Foldable/Foldable.tsx +1 -1
|
@@ -4,7 +4,6 @@ import { ButtonSection } from '../../ui-kit/Button/ButtonSection.js';
|
|
|
4
4
|
import { Description } from '../../ui-kit/Description/Description.js';
|
|
5
5
|
import { Heading } from '../../ui-kit/Heading/Heading.js';
|
|
6
6
|
import { Img } from '../../ui-kit/Img/Img.js';
|
|
7
|
-
import { BaseTile } from '../BaseTile/BaseTile.js';
|
|
8
7
|
import { getTileMinHeight } from '../BaseTile/getTileMinHeight.js';
|
|
9
8
|
import { getTileRightPadding } from '../BaseTile/getTileRightPadding.js';
|
|
10
9
|
const productTileStyleMap = {
|
|
@@ -12,28 +11,28 @@ const productTileStyleMap = {
|
|
|
12
11
|
secondary: 'bg-primary-main text-white',
|
|
13
12
|
};
|
|
14
13
|
export const ProductTile = JSX(({ context, className = '', title, headingType = 'h3', description, additionalDescription, benefits, buttons, image, version = 'primary', anchor = null, }) => {
|
|
15
|
-
return (
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
return (_jsxs("section", { className: `bg-white overflow-hidden text-primary-text font-sans p-9 box-border min-h-[364px] relative justify-between grid ${className} ${productTileStyleMap[version]} ${getTileRightPadding(className)} ${getTileMinHeight(className)} `, id: anchor, children: [_jsxs("div", { className: "z-[1]", children: [title ? (_jsx(Heading, { headingType: headingType, as: "h3", title: title, className: `whitespace-pre-wrap text-h4` })) : null, description ? (_jsx(Description, { className: "mt-2 text-md font-light", description: description })) : null, renderBenefits(benefits || [], version), additionalDescription
|
|
15
|
+
? renderAdditionalDescription(additionalDescription, version)
|
|
16
|
+
: null] }), buttons?.length ? (_jsx(ButtonSection, { context: context, buttons: buttons, className: "flex self-end mt-5 gap-4 z-[1]" })) : null, image?.src ? _jsx(Img, { className: "absolute right-0 bottom-0", image: image }) : null] }));
|
|
18
17
|
});
|
|
19
18
|
function renderBenefits(benefits, version) {
|
|
20
|
-
return (_jsxs("div", { className: "flex mt-
|
|
19
|
+
return (_jsxs("div", { className: "flex mt-4", children: [benefits.length ? (_jsx("div", { className: "mr-6 gap-2.5 text-title-2xs", children: benefits.map(renderBenefitLabel) })) : null, benefits.length ? (_jsx("div", { className: "pt-1 text-m", children: benefits.map((_, i) => renderBenefitDescription(_, i, version)) })) : null] }));
|
|
21
20
|
}
|
|
22
21
|
function renderBenefitLabel(benefit, i) {
|
|
23
|
-
return (_jsx("div", { className:
|
|
22
|
+
return (_jsx("div", { className: `${i ? 'mt-2.5' : ''}`, children: benefit.label }, String(i)));
|
|
24
23
|
}
|
|
25
24
|
function renderBenefitDescription(benefit, i, version = 'primary') {
|
|
26
25
|
const labelStyleMap = {
|
|
27
26
|
primary: 'text-secondary-text',
|
|
28
27
|
secondary: 'text-white',
|
|
29
28
|
};
|
|
30
|
-
return (_jsx("div", { className:
|
|
29
|
+
return (_jsx("div", { className: `${i ? 'mt-4' : ''} ${labelStyleMap[version]}`, children: benefit.description }, String(i)));
|
|
31
30
|
}
|
|
32
31
|
function renderAdditionalDescription(additionalDescription, version = 'primary') {
|
|
33
32
|
const descStyleMap = {
|
|
34
33
|
primary: 'text-secondary-text',
|
|
35
34
|
secondary: 'text-white',
|
|
36
35
|
};
|
|
37
|
-
return _jsx("div", { className: `text-
|
|
36
|
+
return _jsx("div", { className: `text-m mt-2.5 ${descStyleMap[version]}`, children: additionalDescription });
|
|
38
37
|
}
|
|
39
38
|
//# sourceMappingURL=ProductTile.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductTile.js","sourceRoot":"","sources":["../../../src/components/ProductTile/ProductTile.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAGxC,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ProductTile.js","sourceRoot":"","sources":["../../../src/components/ProductTile/ProductTile.tsx"],"names":[],"mappings":"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"}
|
|
@@ -2,14 +2,14 @@ import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
|
|
|
2
2
|
import { JSX } from '@redneckz/uni-jsx';
|
|
3
3
|
export const ButtonInner = JSX((props) => {
|
|
4
4
|
const { text, aboveText, appendLeft, appendRight } = props;
|
|
5
|
-
return (_jsxs("div", { className: getButtonStyle(props), children: [appendLeft ? appendLeft : null, isWithText(props) ? (_jsxs("div", { children: [_jsx("div", { className: "text-m-2xs font-light text-left", children: aboveText }), _jsx("div", { className: "text-
|
|
5
|
+
return (_jsxs("div", { className: getButtonStyle(props), children: [appendLeft ? appendLeft : null, isWithText(props) ? (_jsxs("div", { children: [_jsx("div", { className: "text-m-2xs font-light text-left", children: aboveText }), _jsx("div", { className: "text-base text-left", children: text })] })) : null, appendRight ? appendRight : null] }));
|
|
6
6
|
});
|
|
7
7
|
const getButtonStyle = (props) => {
|
|
8
8
|
const { version, aboveText, rounded } = props;
|
|
9
9
|
if (version === 'link') {
|
|
10
10
|
return '';
|
|
11
11
|
}
|
|
12
|
-
const withTextStyle = `px-
|
|
12
|
+
const withTextStyle = `px-9 gap-2 ${aboveText ? 'py-2' : 'py-4'}`;
|
|
13
13
|
return [
|
|
14
14
|
'flex items-center justify-center',
|
|
15
15
|
isWithText(props) ? withTextStyle : 'h-12 w-12',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonInner.js","sourceRoot":"","sources":["../../../src/ui-kit/Button/ButtonInner.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAQxC,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAAmB,CAAC,KAAK,EAAE,EAAE;IACzD,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAE3D,OAAO,CACL,eAAK,SAAS,EAAE,cAAc,CAAC,KAAK,CAAC,aAClC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAC9B,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CACnB,0BACE,cAAK,SAAS,EAAC,iCAAiC,YAAE,SAAS,GAAO,EAClE,cAAK,SAAS,EAAC,
|
|
1
|
+
{"version":3,"file":"ButtonInner.js","sourceRoot":"","sources":["../../../src/ui-kit/Button/ButtonInner.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAQxC,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAAmB,CAAC,KAAK,EAAE,EAAE;IACzD,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAE3D,OAAO,CACL,eAAK,SAAS,EAAE,cAAc,CAAC,KAAK,CAAC,aAClC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAC9B,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CACnB,0BACE,cAAK,SAAS,EAAC,iCAAiC,YAAE,SAAS,GAAO,EAClE,cAAK,SAAS,EAAC,qBAAqB,YAAE,IAAI,GAAO,IAC7C,CACP,CAAC,CAAC,CAAC,IAAI,EACP,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,IAC7B,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,CAAC,KAAuB,EAAE,EAAE;IACjD,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAE9C,IAAI,OAAO,KAAK,MAAM,EAAE;QACtB,OAAO,EAAE,CAAC;KACX;IAED,MAAM,aAAa,GAAG,cAAc,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAElE,OAAO;QACL,kCAAkC;QAClC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW;QAC/C,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE;KAC9B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAoB,EAAE,EAAE,CACvE,OAAO,CAAC,IAAI,IAAI,SAAS,IAAI,CAAC,UAAU,CAAC,CAAC"}
|
|
@@ -10,7 +10,7 @@ export const Foldable = JSX(({ blocks = [], context, hiddenBlocksNum = 0, foldBu
|
|
|
10
10
|
initialState: isUnfolded,
|
|
11
11
|
});
|
|
12
12
|
return blocks ? (_jsxs("div", { children: [renderBlocks(blocks, render, { blocksToHide, isActive, containerClasses }), hiddenBlocksNum ? (_jsxs("button", { className: foldButtonClasses ||
|
|
13
|
-
'border-none bg-primary-main px-0 py-[26px] mb-[1px] w-full font-sans text-white text-base flex justify-center cursor-pointer', "data-theme": foldButtonDataTheme, onClick: handleToggle, children: [_jsx("span", { className: "pr-3", children: isActive ? 'Скрыть' : foldButtonLabel }), icon
|
|
13
|
+
'border-none bg-primary-main px-0 py-[26px] mb-[1px] w-full font-sans text-white text-base flex justify-center cursor-pointer', "data-theme": foldButtonDataTheme, onClick: handleToggle, children: [_jsx("span", { className: "pr-3", children: isActive ? 'Скрыть' : foldButtonLabel }), icon ? _jsx(Icon, { name: icon, iconVersion: "white", width: "20", height: "20", asSVG: true }) : null] })) : null] })) : null;
|
|
14
14
|
});
|
|
15
15
|
const renderBlocks = (blocks, render, { blocksToHide, isActive, containerClasses }) => {
|
|
16
16
|
const visibleBlocks = blocks.slice(0, blocks.length - blocksToHide);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Foldable.js","sourceRoot":"","sources":["../../../src/ui-kit/Foldable/Foldable.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAIxC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAuB/E,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,CACzB,CAAC,EACC,MAAM,GAAG,EAAE,EACX,OAAO,EACP,eAAe,GAAG,CAAC,EACnB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,UAAU,EACV,gBAAgB,EAChB,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAClB,EAAE,EAAE;IACH,MAAM,YAAY,GAAG,KAAK,CAAC,eAAe,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAE9D,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAC;QACxD,OAAO;QACP,YAAY,EAAE,UAAU;KACzB,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,CAAC,CAAC,CACd,0BACG,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,EAC1E,eAAe,CAAC,CAAC,CAAC,CACjB,kBACE,SAAS,EACP,iBAAiB;oBACjB,8HAA8H,gBAEpH,mBAAmB,EAC/B,OAAO,EAAE,YAAY,aAErB,eAAM,SAAS,EAAC,MAAM,YAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,GAAQ,EACpE,IAAI,
|
|
1
|
+
{"version":3,"file":"Foldable.js","sourceRoot":"","sources":["../../../src/ui-kit/Foldable/Foldable.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAIxC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAuB/E,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,CACzB,CAAC,EACC,MAAM,GAAG,EAAE,EACX,OAAO,EACP,eAAe,GAAG,CAAC,EACnB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,UAAU,EACV,gBAAgB,EAChB,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAClB,EAAE,EAAE;IACH,MAAM,YAAY,GAAG,KAAK,CAAC,eAAe,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAE9D,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAC;QACxD,OAAO;QACP,YAAY,EAAE,UAAU;KACzB,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,CAAC,CAAC,CACd,0BACG,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,EAC1E,eAAe,CAAC,CAAC,CAAC,CACjB,kBACE,SAAS,EACP,iBAAiB;oBACjB,8HAA8H,gBAEpH,mBAAmB,EAC/B,OAAO,EAAE,YAAY,aAErB,eAAM,SAAS,EAAC,MAAM,YAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,GAAQ,EACpE,IAAI,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAC,OAAO,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,KAAK,SAAG,CAAC,CAAC,CAAC,IAAI,IAC7E,CACV,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CAAC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC,CACF,CAAC;AAEF,MAAM,YAAY,GAAG,CACnB,MAAsB,EACtB,MAAc,EACd,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAsB,EAChE,EAAE;IACF,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC;IACpE,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC;IAEjD,OAAO,MAAM,CACX,0BACG,aAAa,EACd,cAAK,SAAS,EAAE,GAAG,uBAAuB,IAAI,gBAAgB,EAAE,YAAG,YAAY,GAAO,IAClF,EACN,QAAQ,CACT,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -12,9 +12,7 @@ export function renderRate({ rate, title, sup, className = '' }: rateType) {
|
|
|
12
12
|
<div>
|
|
13
13
|
<div className="text-sm font-light ml-3">{title}</div>
|
|
14
14
|
<div className="flex justify-start">
|
|
15
|
-
<span
|
|
16
|
-
className={`calc-rate-text font-mohave text-[200px] leading-[250px] pr-4 mt-[-16px] ${className}`}
|
|
17
|
-
>
|
|
15
|
+
<span className={`calc-rate-text font-mohave text-title-huge pr-4 mt-[-16px] ${className}`}>
|
|
18
16
|
{rateFormat}
|
|
19
17
|
</span>
|
|
20
18
|
{sup ? <span className="calc-rate-text text-[65px] leading-[75px]">{sup}</span> : ''}
|
|
@@ -14,12 +14,13 @@ const CARD_FULL_VIEW_COUNT = 3;
|
|
|
14
14
|
const CARD_SHIFT = 430;
|
|
15
15
|
|
|
16
16
|
export const Catalog = JSX<CatalogProps>(
|
|
17
|
-
({ context, cards = [], className = '', title, description }) => {
|
|
17
|
+
({ context, cards = [], className = '', title, description, anchor = null }) => {
|
|
18
18
|
const [activeCardIndex, setActiveCardIndex] = context.useState(0);
|
|
19
19
|
|
|
20
20
|
return (
|
|
21
21
|
<section
|
|
22
22
|
className={`bg-white relative font-sans p-9 overflow-hidden text-center ${className}`}
|
|
23
|
+
id={anchor}
|
|
23
24
|
>
|
|
24
25
|
{title ? <Heading headingType="h2" className="mb-6" title={title} /> : null}
|
|
25
26
|
{description ? <Description className="mb-6" description={description} /> : null}
|
|
@@ -5,7 +5,6 @@ import { ButtonSection } from '../../ui-kit/Button/ButtonSection';
|
|
|
5
5
|
import { Description } from '../../ui-kit/Description/Description';
|
|
6
6
|
import { Heading } from '../../ui-kit/Heading/Heading';
|
|
7
7
|
import { Img } from '../../ui-kit/Img/Img';
|
|
8
|
-
import { BaseTile } from '../BaseTile/BaseTile';
|
|
9
8
|
import { getTileMinHeight } from '../BaseTile/getTileMinHeight';
|
|
10
9
|
import { getTileRightPadding } from '../BaseTile/getTileRightPadding';
|
|
11
10
|
import type { ProductTileContent, TextBenefit } from './ProductTileContent';
|
|
@@ -33,39 +32,36 @@ export const ProductTile = JSX<ProductTileProps>(
|
|
|
33
32
|
}) => {
|
|
34
33
|
return (
|
|
35
34
|
<section
|
|
36
|
-
className={`bg-white overflow-hidden text-primary-text font-sans p-9 box-border ${className} ${
|
|
35
|
+
className={`bg-white overflow-hidden text-primary-text font-sans p-9 box-border min-h-[364px] relative justify-between grid ${className} ${
|
|
37
36
|
productTileStyleMap[version]
|
|
38
37
|
} ${getTileRightPadding(className)} ${getTileMinHeight(className)} `}
|
|
39
38
|
id={anchor}
|
|
40
39
|
>
|
|
41
|
-
<
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
/>
|
|
51
|
-
) : null
|
|
52
|
-
}
|
|
53
|
-
buttons={
|
|
54
|
-
buttons?.length ? (
|
|
55
|
-
<ButtonSection context={context} buttons={buttons} className="flex mt-9 gap-3" />
|
|
56
|
-
) : null
|
|
57
|
-
}
|
|
58
|
-
image={image?.src && <Img className="mt-auto ml-7" image={image} />}
|
|
59
|
-
>
|
|
40
|
+
<div className="z-[1]">
|
|
41
|
+
{title ? (
|
|
42
|
+
<Heading
|
|
43
|
+
headingType={headingType}
|
|
44
|
+
as="h3"
|
|
45
|
+
title={title}
|
|
46
|
+
className={`whitespace-pre-wrap text-h4`}
|
|
47
|
+
/>
|
|
48
|
+
) : null}
|
|
60
49
|
{description ? (
|
|
61
|
-
<Description className="mt-
|
|
50
|
+
<Description className="mt-2 text-md font-light" description={description} />
|
|
62
51
|
) : null}
|
|
63
52
|
{renderBenefits(benefits || [], version)}
|
|
64
|
-
|
|
65
53
|
{additionalDescription
|
|
66
54
|
? renderAdditionalDescription(additionalDescription, version)
|
|
67
55
|
: null}
|
|
68
|
-
</
|
|
56
|
+
</div>
|
|
57
|
+
{buttons?.length ? (
|
|
58
|
+
<ButtonSection
|
|
59
|
+
context={context}
|
|
60
|
+
buttons={buttons}
|
|
61
|
+
className="flex self-end mt-5 gap-4 z-[1]"
|
|
62
|
+
/>
|
|
63
|
+
) : null}
|
|
64
|
+
{image?.src ? <Img className="absolute right-0 bottom-0" image={image} /> : null}
|
|
69
65
|
</section>
|
|
70
66
|
);
|
|
71
67
|
},
|
|
@@ -73,10 +69,12 @@ export const ProductTile = JSX<ProductTileProps>(
|
|
|
73
69
|
|
|
74
70
|
function renderBenefits(benefits: TextBenefit[], version: BlockVersion) {
|
|
75
71
|
return (
|
|
76
|
-
<div className="flex mt-
|
|
77
|
-
{benefits.length ?
|
|
72
|
+
<div className="flex mt-4">
|
|
73
|
+
{benefits.length ? (
|
|
74
|
+
<div className="mr-6 gap-2.5 text-title-2xs">{benefits.map(renderBenefitLabel)}</div>
|
|
75
|
+
) : null}
|
|
78
76
|
{benefits.length ? (
|
|
79
|
-
<div className="pt-1">
|
|
77
|
+
<div className="pt-1 text-m">
|
|
80
78
|
{benefits.map((_, i) => renderBenefitDescription(_, i, version))}
|
|
81
79
|
</div>
|
|
82
80
|
) : null}
|
|
@@ -86,7 +84,7 @@ function renderBenefits(benefits: TextBenefit[], version: BlockVersion) {
|
|
|
86
84
|
|
|
87
85
|
function renderBenefitLabel(benefit: TextBenefit, i: number) {
|
|
88
86
|
return (
|
|
89
|
-
<div key={String(i)} className={
|
|
87
|
+
<div key={String(i)} className={`${i ? 'mt-2.5' : ''}`}>
|
|
90
88
|
{benefit.label}
|
|
91
89
|
</div>
|
|
92
90
|
);
|
|
@@ -99,7 +97,7 @@ function renderBenefitDescription(benefit: TextBenefit, i: number, version = 'pr
|
|
|
99
97
|
};
|
|
100
98
|
|
|
101
99
|
return (
|
|
102
|
-
<div key={String(i)} className={
|
|
100
|
+
<div key={String(i)} className={`${i ? 'mt-4' : ''} ${labelStyleMap[version]}`}>
|
|
103
101
|
{benefit.description}
|
|
104
102
|
</div>
|
|
105
103
|
);
|
|
@@ -111,5 +109,5 @@ function renderAdditionalDescription(additionalDescription: string, version = 'p
|
|
|
111
109
|
secondary: 'text-white',
|
|
112
110
|
};
|
|
113
111
|
|
|
114
|
-
return <div className={`text-
|
|
112
|
+
return <div className={`text-m mt-2.5 ${descStyleMap[version]}`}>{additionalDescription}</div>;
|
|
115
113
|
}
|
|
@@ -15,7 +15,7 @@ export const ButtonInner = JSX<ButtonInnerProps>((props) => {
|
|
|
15
15
|
{isWithText(props) ? (
|
|
16
16
|
<div>
|
|
17
17
|
<div className="text-m-2xs font-light text-left">{aboveText}</div>
|
|
18
|
-
<div className="text-
|
|
18
|
+
<div className="text-base text-left">{text}</div>
|
|
19
19
|
</div>
|
|
20
20
|
) : null}
|
|
21
21
|
{appendRight ? appendRight : null}
|
|
@@ -30,7 +30,7 @@ const getButtonStyle = (props: ButtonInnerProps) => {
|
|
|
30
30
|
return '';
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
-
const withTextStyle = `px-
|
|
33
|
+
const withTextStyle = `px-9 gap-2 ${aboveText ? 'py-2' : 'py-4'}`;
|
|
34
34
|
|
|
35
35
|
return [
|
|
36
36
|
'flex items-center justify-center',
|
|
@@ -59,7 +59,7 @@ export const Foldable = JSX<FoldableProps>(
|
|
|
59
59
|
onClick={handleToggle}
|
|
60
60
|
>
|
|
61
61
|
<span className="pr-3">{isActive ? 'Скрыть' : foldButtonLabel}</span>
|
|
62
|
-
{icon
|
|
62
|
+
{icon ? <Icon name={icon} iconVersion="white" width="20" height="20" asSVG /> : null}
|
|
63
63
|
</button>
|
|
64
64
|
) : null}
|
|
65
65
|
</div>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@redneckz/wildless-cms-uni-blocks",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.76",
|
|
4
4
|
"private": false,
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "ЦК",
|
|
@@ -149,7 +149,7 @@
|
|
|
149
149
|
"size-limit": "^7.0.8",
|
|
150
150
|
"style-loader": "^3.3.1",
|
|
151
151
|
"svgo": "^2.8.0",
|
|
152
|
-
"tailwindcss": "^3.1.
|
|
152
|
+
"tailwindcss": "^3.1.8",
|
|
153
153
|
"ts-jest": "^28.0.6",
|
|
154
154
|
"ts-json-schema-generator": "^1.0.0",
|
|
155
155
|
"ts-loader": "^9.3.0",
|
|
@@ -12,9 +12,7 @@ export function renderRate({ rate, title, sup, className = '' }: rateType) {
|
|
|
12
12
|
<div>
|
|
13
13
|
<div className="text-sm font-light ml-3">{title}</div>
|
|
14
14
|
<div className="flex justify-start">
|
|
15
|
-
<span
|
|
16
|
-
className={`calc-rate-text font-mohave text-[200px] leading-[250px] pr-4 mt-[-16px] ${className}`}
|
|
17
|
-
>
|
|
15
|
+
<span className={`calc-rate-text font-mohave text-title-huge pr-4 mt-[-16px] ${className}`}>
|
|
18
16
|
{rateFormat}
|
|
19
17
|
</span>
|
|
20
18
|
{sup ? <span className="calc-rate-text text-[65px] leading-[75px]">{sup}</span> : ''}
|
|
@@ -14,12 +14,13 @@ const CARD_FULL_VIEW_COUNT = 3;
|
|
|
14
14
|
const CARD_SHIFT = 430;
|
|
15
15
|
|
|
16
16
|
export const Catalog = JSX<CatalogProps>(
|
|
17
|
-
({ context, cards = [], className = '', title, description }) => {
|
|
17
|
+
({ context, cards = [], className = '', title, description, anchor = null }) => {
|
|
18
18
|
const [activeCardIndex, setActiveCardIndex] = context.useState(0);
|
|
19
19
|
|
|
20
20
|
return (
|
|
21
21
|
<section
|
|
22
22
|
className={`bg-white relative font-sans p-9 overflow-hidden text-center ${className}`}
|
|
23
|
+
id={anchor}
|
|
23
24
|
>
|
|
24
25
|
{title ? <Heading headingType="h2" className="mb-6" title={title} /> : null}
|
|
25
26
|
{description ? <Description className="mb-6" description={description} /> : null}
|
|
@@ -5,7 +5,6 @@ import { ButtonSection } from '../../ui-kit/Button/ButtonSection';
|
|
|
5
5
|
import { Description } from '../../ui-kit/Description/Description';
|
|
6
6
|
import { Heading } from '../../ui-kit/Heading/Heading';
|
|
7
7
|
import { Img } from '../../ui-kit/Img/Img';
|
|
8
|
-
import { BaseTile } from '../BaseTile/BaseTile';
|
|
9
8
|
import { getTileMinHeight } from '../BaseTile/getTileMinHeight';
|
|
10
9
|
import { getTileRightPadding } from '../BaseTile/getTileRightPadding';
|
|
11
10
|
import type { ProductTileContent, TextBenefit } from './ProductTileContent';
|
|
@@ -33,39 +32,36 @@ export const ProductTile = JSX<ProductTileProps>(
|
|
|
33
32
|
}) => {
|
|
34
33
|
return (
|
|
35
34
|
<section
|
|
36
|
-
className={`bg-white overflow-hidden text-primary-text font-sans p-9 box-border ${className} ${
|
|
35
|
+
className={`bg-white overflow-hidden text-primary-text font-sans p-9 box-border min-h-[364px] relative justify-between grid ${className} ${
|
|
37
36
|
productTileStyleMap[version]
|
|
38
37
|
} ${getTileRightPadding(className)} ${getTileMinHeight(className)} `}
|
|
39
38
|
id={anchor}
|
|
40
39
|
>
|
|
41
|
-
<
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
/>
|
|
51
|
-
) : null
|
|
52
|
-
}
|
|
53
|
-
buttons={
|
|
54
|
-
buttons?.length ? (
|
|
55
|
-
<ButtonSection context={context} buttons={buttons} className="flex mt-9 gap-3" />
|
|
56
|
-
) : null
|
|
57
|
-
}
|
|
58
|
-
image={image?.src && <Img className="mt-auto ml-7" image={image} />}
|
|
59
|
-
>
|
|
40
|
+
<div className="z-[1]">
|
|
41
|
+
{title ? (
|
|
42
|
+
<Heading
|
|
43
|
+
headingType={headingType}
|
|
44
|
+
as="h3"
|
|
45
|
+
title={title}
|
|
46
|
+
className={`whitespace-pre-wrap text-h4`}
|
|
47
|
+
/>
|
|
48
|
+
) : null}
|
|
60
49
|
{description ? (
|
|
61
|
-
<Description className="mt-
|
|
50
|
+
<Description className="mt-2 text-md font-light" description={description} />
|
|
62
51
|
) : null}
|
|
63
52
|
{renderBenefits(benefits || [], version)}
|
|
64
|
-
|
|
65
53
|
{additionalDescription
|
|
66
54
|
? renderAdditionalDescription(additionalDescription, version)
|
|
67
55
|
: null}
|
|
68
|
-
</
|
|
56
|
+
</div>
|
|
57
|
+
{buttons?.length ? (
|
|
58
|
+
<ButtonSection
|
|
59
|
+
context={context}
|
|
60
|
+
buttons={buttons}
|
|
61
|
+
className="flex self-end mt-5 gap-4 z-[1]"
|
|
62
|
+
/>
|
|
63
|
+
) : null}
|
|
64
|
+
{image?.src ? <Img className="absolute right-0 bottom-0" image={image} /> : null}
|
|
69
65
|
</section>
|
|
70
66
|
);
|
|
71
67
|
},
|
|
@@ -73,10 +69,12 @@ export const ProductTile = JSX<ProductTileProps>(
|
|
|
73
69
|
|
|
74
70
|
function renderBenefits(benefits: TextBenefit[], version: BlockVersion) {
|
|
75
71
|
return (
|
|
76
|
-
<div className="flex mt-
|
|
77
|
-
{benefits.length ?
|
|
72
|
+
<div className="flex mt-4">
|
|
73
|
+
{benefits.length ? (
|
|
74
|
+
<div className="mr-6 gap-2.5 text-title-2xs">{benefits.map(renderBenefitLabel)}</div>
|
|
75
|
+
) : null}
|
|
78
76
|
{benefits.length ? (
|
|
79
|
-
<div className="pt-1">
|
|
77
|
+
<div className="pt-1 text-m">
|
|
80
78
|
{benefits.map((_, i) => renderBenefitDescription(_, i, version))}
|
|
81
79
|
</div>
|
|
82
80
|
) : null}
|
|
@@ -86,7 +84,7 @@ function renderBenefits(benefits: TextBenefit[], version: BlockVersion) {
|
|
|
86
84
|
|
|
87
85
|
function renderBenefitLabel(benefit: TextBenefit, i: number) {
|
|
88
86
|
return (
|
|
89
|
-
<div key={String(i)} className={
|
|
87
|
+
<div key={String(i)} className={`${i ? 'mt-2.5' : ''}`}>
|
|
90
88
|
{benefit.label}
|
|
91
89
|
</div>
|
|
92
90
|
);
|
|
@@ -99,7 +97,7 @@ function renderBenefitDescription(benefit: TextBenefit, i: number, version = 'pr
|
|
|
99
97
|
};
|
|
100
98
|
|
|
101
99
|
return (
|
|
102
|
-
<div key={String(i)} className={
|
|
100
|
+
<div key={String(i)} className={`${i ? 'mt-4' : ''} ${labelStyleMap[version]}`}>
|
|
103
101
|
{benefit.description}
|
|
104
102
|
</div>
|
|
105
103
|
);
|
|
@@ -111,5 +109,5 @@ function renderAdditionalDescription(additionalDescription: string, version = 'p
|
|
|
111
109
|
secondary: 'text-white',
|
|
112
110
|
};
|
|
113
111
|
|
|
114
|
-
return <div className={`text-
|
|
112
|
+
return <div className={`text-m mt-2.5 ${descStyleMap[version]}`}>{additionalDescription}</div>;
|
|
115
113
|
}
|
|
@@ -15,7 +15,7 @@ export const ButtonInner = JSX<ButtonInnerProps>((props) => {
|
|
|
15
15
|
{isWithText(props) ? (
|
|
16
16
|
<div>
|
|
17
17
|
<div className="text-m-2xs font-light text-left">{aboveText}</div>
|
|
18
|
-
<div className="text-
|
|
18
|
+
<div className="text-base text-left">{text}</div>
|
|
19
19
|
</div>
|
|
20
20
|
) : null}
|
|
21
21
|
{appendRight ? appendRight : null}
|
|
@@ -30,7 +30,7 @@ const getButtonStyle = (props: ButtonInnerProps) => {
|
|
|
30
30
|
return '';
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
-
const withTextStyle = `px-
|
|
33
|
+
const withTextStyle = `px-9 gap-2 ${aboveText ? 'py-2' : 'py-4'}`;
|
|
34
34
|
|
|
35
35
|
return [
|
|
36
36
|
'flex items-center justify-center',
|
|
@@ -59,7 +59,7 @@ export const Foldable = JSX<FoldableProps>(
|
|
|
59
59
|
onClick={handleToggle}
|
|
60
60
|
>
|
|
61
61
|
<span className="pr-3">{isActive ? 'Скрыть' : foldButtonLabel}</span>
|
|
62
|
-
{icon
|
|
62
|
+
{icon ? <Icon name={icon} iconVersion="white" width="20" height="20" asSVG /> : null}
|
|
63
63
|
</button>
|
|
64
64
|
) : null}
|
|
65
65
|
</div>
|