@redneckz/wildless-cms-uni-blocks 0.3.58 → 0.3.59
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 +29 -14
- package/bundle/bundle.umd.min.js +1 -1
- package/dist/components/Header/Header.js +2 -2
- package/dist/components/Header/Header.js.map +1 -1
- package/dist/components/Header/HeaderContent.d.ts +6 -0
- package/dist/components/Header/HeaderSubMenu.js +7 -4
- package/dist/components/Header/HeaderSubMenu.js.map +1 -1
- package/dist/components/ProductTile/ProductTile.js +14 -2
- package/dist/components/ProductTile/ProductTile.js.map +1 -1
- package/dist/components/ProductTile/ProductTileContent.d.ts +2 -0
- package/dist/components/Tile/Tile.js +1 -1
- package/dist/components/Tile/Tile.js.map +1 -1
- package/dist/types.d.ts +0 -5
- package/dist/ui-kit/Button/Button.js +2 -2
- package/dist/ui-kit/Button/Button.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/Button/ButtonProps.d.ts +2 -0
- package/dist/ui-kit/Button/ButtonSection.js +1 -1
- package/dist/ui-kit/Button/ButtonSection.js.map +1 -1
- package/lib/common.css +1 -1
- package/lib/components/Header/Header.fixture.d.ts +1 -0
- package/lib/components/Header/Header.js +2 -2
- package/lib/components/Header/Header.js.map +1 -1
- package/lib/components/Header/HeaderContent.d.ts +6 -0
- package/lib/components/Header/HeaderSubMenu.js +7 -4
- package/lib/components/Header/HeaderSubMenu.js.map +1 -1
- package/lib/components/ProductTile/ProductTile.fixture.d.ts +1 -0
- package/lib/components/ProductTile/ProductTile.js +14 -2
- package/lib/components/ProductTile/ProductTile.js.map +1 -1
- package/lib/components/ProductTile/ProductTileContent.d.ts +2 -0
- package/lib/components/Tile/Tile.js +1 -1
- package/lib/components/Tile/Tile.js.map +1 -1
- package/lib/types.d.ts +0 -5
- package/lib/ui-kit/Button/Button.js +2 -2
- package/lib/ui-kit/Button/Button.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/Button/ButtonProps.d.ts +2 -0
- package/lib/ui-kit/Button/ButtonSection.js +1 -1
- package/lib/ui-kit/Button/ButtonSection.js.map +1 -1
- package/mobile/bundle/bundle.umd.js +3 -3
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/dist/components/Header/HeaderContent.d.ts +6 -0
- package/mobile/dist/components/Header/HeaderSubMenu.js +7 -4
- package/mobile/dist/components/Header/HeaderSubMenu.js.map +1 -1
- package/mobile/dist/components/ProductTile/ProductTile.js +14 -2
- package/mobile/dist/components/ProductTile/ProductTile.js.map +1 -1
- package/mobile/dist/components/ProductTile/ProductTileContent.d.ts +2 -0
- package/mobile/dist/components/Tile/Tile.js +1 -1
- package/mobile/dist/components/Tile/Tile.js.map +1 -1
- package/mobile/dist/types.d.ts +0 -5
- 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/Button/ButtonProps.d.ts +2 -0
- package/mobile/dist/ui-kit/Button/ButtonSection.js +1 -1
- package/mobile/dist/ui-kit/Button/ButtonSection.js.map +1 -1
- package/mobile/lib/components/Header/HeaderContent.d.ts +6 -0
- package/mobile/lib/components/Header/HeaderSubMenu.js +7 -4
- package/mobile/lib/components/Header/HeaderSubMenu.js.map +1 -1
- package/mobile/lib/components/ProductTile/ProductTile.js +14 -2
- package/mobile/lib/components/ProductTile/ProductTile.js.map +1 -1
- package/mobile/lib/components/ProductTile/ProductTileContent.d.ts +2 -0
- package/mobile/lib/components/Tile/Tile.js +1 -1
- package/mobile/lib/components/Tile/Tile.js.map +1 -1
- package/mobile/lib/types.d.ts +0 -5
- 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/Button/ButtonProps.d.ts +2 -0
- package/mobile/lib/ui-kit/Button/ButtonSection.js +1 -1
- package/mobile/lib/ui-kit/Button/ButtonSection.js.map +1 -1
- package/mobile/src/components/Header/HeaderContent.ts +6 -0
- package/mobile/src/components/Header/HeaderSubMenu.tsx +10 -5
- package/mobile/src/components/ProductTile/ProductTile.tsx +30 -13
- package/mobile/src/components/ProductTile/ProductTileContent.ts +2 -0
- package/mobile/src/components/Tile/Tile.tsx +5 -1
- package/mobile/src/types.ts +0 -6
- package/mobile/src/ui-kit/Button/ButtonInner.tsx +2 -1
- package/mobile/src/ui-kit/Button/ButtonProps.ts +2 -0
- package/mobile/src/ui-kit/Button/ButtonSection.tsx +1 -1
- package/package.json +1 -1
- package/src/components/Header/Header.fixture.tsx +1 -0
- package/src/components/Header/Header.tsx +4 -1
- package/src/components/Header/HeaderContent.ts +6 -0
- package/src/components/Header/HeaderSubMenu.tsx +10 -5
- package/src/components/ProductTile/ProductTile.fixture.tsx +50 -5
- package/src/components/ProductTile/ProductTile.tsx +30 -13
- package/src/components/ProductTile/ProductTileContent.ts +2 -0
- package/src/components/Tile/Tile.tsx +5 -1
- package/src/types.ts +0 -6
- package/src/ui-kit/Button/Button.fixture.tsx +12 -0
- package/src/ui-kit/Button/Button.tsx +8 -2
- package/src/ui-kit/Button/ButtonInner.tsx +2 -1
- package/src/ui-kit/Button/ButtonProps.ts +2 -0
- package/src/ui-kit/Button/ButtonSection.tsx +1 -1
- package/dist/components/ContentPage/CustomContentPage.d.ts +0 -30
- package/dist/components/ContentPage/CustomContentPage.js +0 -33
- package/dist/components/ContentPage/CustomContentPage.js.map +0 -1
- package/lib/components/ContentPage/CustomContentPage.d.ts +0 -30
- package/lib/components/ContentPage/CustomContentPage.js +0 -31
- package/lib/components/ContentPage/CustomContentPage.js.map +0 -1
- package/mobile/dist/components/ContentPage/CustomContentPage.d.ts +0 -30
- package/mobile/dist/components/ContentPage/CustomContentPage.js +0 -33
- package/mobile/dist/components/ContentPage/CustomContentPage.js.map +0 -1
- package/mobile/lib/components/ContentPage/CustomContentPage.d.ts +0 -30
- package/mobile/lib/components/ContentPage/CustomContentPage.js +0 -31
- package/mobile/lib/components/ContentPage/CustomContentPage.js.map +0 -1
- package/mobile/src/components/ContentPage/CustomContentPage.tsx +0 -82
- package/src/components/ContentPage/CustomContentPage.tsx +0 -82
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonInner.js","sourceRoot":"","sources":["../../../src/ui-kit/Button/ButtonInner.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AAQ3B,QAAA,WAAW,GAAG,IAAA,aAAG,EAAmB,CAAC,KAAK,EAAE,EAAE;IACzD,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"ButtonInner.js","sourceRoot":"","sources":["../../../src/ui-kit/Button/ButtonInner.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AAQ3B,QAAA,WAAW,GAAG,IAAA,aAAG,EAAmB,CAAC,KAAK,EAAE,EAAE;IACzD,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAC3D,OAAO,CACL,iCAAK,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,4CACE,gCAAK,SAAS,EAAC,iCAAiC,YAAE,SAAS,GAAO,EAClE,gCAAK,SAAS,EAAC,uBAAuB,YAAE,IAAI,GAAO,IAC/C,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,WAAW,EAAE,CAAC;IAEvE,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"}
|
|
@@ -8,7 +8,7 @@ const Button_1 = require("./Button");
|
|
|
8
8
|
exports.ButtonSection = (0, uni_jsx_1.JSX)(({ context, className = '', buttons }) => {
|
|
9
9
|
const { handlerDecorator } = context;
|
|
10
10
|
const router = context.useRouter();
|
|
11
|
-
return buttons?.length ? ((0, jsx_runtime_1.jsx)("div", { className:
|
|
11
|
+
return buttons?.length ? ((0, jsx_runtime_1.jsx)("div", { className: className, children: buttons.map((button, index) => renderButton((0, useLink_1.useLink)({ router, handlerDecorator }, button), index)) })) : null;
|
|
12
12
|
});
|
|
13
13
|
function renderButton({ icon, ...button }, i) {
|
|
14
14
|
if (!button?.text)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonSection.js","sourceRoot":"","sources":["../../../src/ui-kit/Button/ButtonSection.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,iDAA8C;AAE9C,oCAAiC;AACjC,qCAAkC;AAKrB,QAAA,aAAa,GAAG,IAAA,aAAG,EAAqB,CAAC,EAAE,OAAO,EAAE,SAAS,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;IAC5F,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC;IACrC,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IACnC,OAAO,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CACvB,gCAAK,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"ButtonSection.js","sourceRoot":"","sources":["../../../src/ui-kit/Button/ButtonSection.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,iDAA8C;AAE9C,oCAAiC;AACjC,qCAAkC;AAKrB,QAAA,aAAa,GAAG,IAAA,aAAG,EAAqB,CAAC,EAAE,OAAO,EAAE,SAAS,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;IAC5F,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC;IACrC,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IACnC,OAAO,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CACvB,gCAAK,SAAS,EAAE,SAAS,YACtB,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAC7B,YAAY,CAAC,IAAA,iBAAO,EAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,CACnE,GACG,CACP,CAAC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC,CAAC,CAAC;AAEH,SAAS,YAAY,CAAC,EAAE,IAAI,EAAE,GAAG,MAAM,EAAuB,EAAE,CAAS;IACvE,IAAI,CAAC,MAAM,EAAE,IAAI;QAAE,OAAO;IAE1B,OAAO,IAAI,CAAC,CAAC,CAAC,CACZ,uBAAC,eAAM,IAEL,UAAU,EAAE,uBAAC,SAAG,IAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,KAAK,SAAG,KACzD,MAAM,IAFL,MAAM,CAAC,CAAC,CAAC,CAGd,CACH,CAAC,CAAC,CAAC,CACF,uBAAC,eAAM,OAAqB,MAAM,IAArB,MAAM,CAAC,CAAC,CAAC,CAAgB,CACvC,CAAC;AACJ,CAAC"}
|
|
@@ -26,6 +26,12 @@ export interface HeaderContent extends SitemapProps {
|
|
|
26
26
|
* @default Москва
|
|
27
27
|
*/
|
|
28
28
|
defaultLocation?: string;
|
|
29
|
+
/**
|
|
30
|
+
* @title Показывать подменю
|
|
31
|
+
* @hidden
|
|
32
|
+
* @default true
|
|
33
|
+
*/
|
|
34
|
+
showSubMenu?: boolean;
|
|
29
35
|
/**
|
|
30
36
|
* @title Фон элемента
|
|
31
37
|
* @hidden
|
|
@@ -5,6 +5,10 @@ import { findActiveSubItem } from '../../services/sitemap/findActiveSubItem.js';
|
|
|
5
5
|
import { HeaderItem } from '../../ui-kit/HeaderItem/HeaderItem.js';
|
|
6
6
|
import { isSSR } from '../../utils/isSSR.js';
|
|
7
7
|
import { headerSubMenuObserver } from './HeaderSubMenuObserver.js';
|
|
8
|
+
const DOT_BG_COLORS_MAP = {
|
|
9
|
+
'bg-white': 'bg-primary-text',
|
|
10
|
+
transparent: 'bg-white',
|
|
11
|
+
};
|
|
8
12
|
export const HeaderSubMenu = JSX(({ context, subItems, bgColor }) => {
|
|
9
13
|
const [subMenuIsShow, setHiddenMenuIsShow] = context.useState(false);
|
|
10
14
|
const router = context.useRouter();
|
|
@@ -25,15 +29,14 @@ export const HeaderSubMenu = JSX(({ context, subItems, bgColor }) => {
|
|
|
25
29
|
subMenuIsShow,
|
|
26
30
|
toggleSubMenu,
|
|
27
31
|
subItems,
|
|
32
|
+
bgColor,
|
|
28
33
|
router,
|
|
29
34
|
handlerDecorator,
|
|
30
35
|
})] }));
|
|
31
36
|
});
|
|
32
37
|
// TODO: add types
|
|
33
|
-
const renderDotsSubMenu = ({ subMenuIsShow, toggleSubMenu, subItems, router, handlerDecorator, }) => (_jsxs("div", { className: `absolute w-52 -top-4 right-0 pt-4 z-40 ${subMenuIsShow ? 'bg-white rounded-md shadow-blue-gray/24' : ''}`, "data-header-submenu-visible": "toggled", children: [_jsx("button", { className: "flex justify-between items-center cursor-pointer h-6 ml-6", onClick: toggleSubMenu, "aria-label": `${subMenuIsShow ? 'Скрыть другие разделы' : 'Показать другие разделы'}`, children: Array(3)
|
|
34
|
-
.fill(0)
|
|
35
|
-
.map((_, i) => renderDot(i)) }), _jsx("div", { className: `flex flex-col rounded-md bg-white p-6 pb-2 ${subMenuIsShow ? '' : 'hidden'}`, "aria-hidden": !subMenuIsShow, children: renderDotsSubMenuItems(subItems, router, handlerDecorator) })] }));
|
|
38
|
+
const renderDotsSubMenu = ({ subMenuIsShow, toggleSubMenu, subItems, bgColor, router, handlerDecorator, }) => (_jsxs("div", { className: `absolute w-52 -top-4 right-0 pt-4 z-40 ${subMenuIsShow ? 'bg-white rounded-md shadow-blue-gray/24' : ''}`, "data-header-submenu-visible": "toggled", children: [_jsx("button", { className: "flex justify-between items-center cursor-pointer h-6 ml-6", onClick: toggleSubMenu, "aria-label": `${subMenuIsShow ? 'Скрыть другие разделы' : 'Показать другие разделы'}`, children: Array(3).fill(bgColor).map(renderDot) }), _jsx("div", { className: `flex flex-col rounded-md bg-white p-6 pb-2 ${subMenuIsShow ? '' : 'hidden'}`, "aria-hidden": !subMenuIsShow, children: renderDotsSubMenuItems(subItems, router, handlerDecorator) })] }));
|
|
36
39
|
// TODO: add types
|
|
37
40
|
const renderDotsSubMenuItems = (subItems, router, handlerDecorator) => subItems?.map((_) => (_jsx("a", { ...useLink({ router, handlerDecorator }, _), "data-item-name": "dots-header-submenu", className: "text-base font-light pb-4 hover:text-primary-main", children: _.text }, _.href)));
|
|
38
|
-
const renderDot = (i) => (_jsx("div", { className:
|
|
41
|
+
const renderDot = (bgColor, i) => (_jsx("div", { className: `w-[3px] h-[3px] rounded mr-1 ${DOT_BG_COLORS_MAP[bgColor]}` }, String(i)));
|
|
39
42
|
//# sourceMappingURL=HeaderSubMenu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeaderSubMenu.js","sourceRoot":"","sources":["../../../src/components/Header/HeaderSubMenu.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAG9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"HeaderSubMenu.js","sourceRoot":"","sources":["../../../src/components/Header/HeaderSubMenu.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAG9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,iBAAiB,GAAmC;IACxD,UAAU,EAAE,iBAAiB;IAC7B,WAAW,EAAE,UAAU;CACxB,CAAC;AAQF,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAqB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;IACtF,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IACnC,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC;IAErC,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,KAAK,EAAE,EAAE;YACX,OAAO;SACR;QAED,MAAM,aAAa,GAAG,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,iCAAiC,CAAC,CAAC;QAC9F,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAC1B,qBAAqB,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,GAAG,CAAC,CAAC;IAER,MAAM,aAAa,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC1D,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,mBAAmB,CAAC,CAAC,aAAa,CAAC,CAAC;IAEhE,MAAM,OAAO,GAAG,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACnC,KAAC,UAAU,IAET,SAAS,EAAC,MAAM,EAChB,MAAM,EAAE,CAAC,KAAK,aAAa,KACvB,OAAO,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC,EAC5C,YAAY,EAAC,gBAAgB,EAC7B,OAAO,EAAE,OAAO,IALX,CAAC,CAAC,IAAI,CAMX,CACH,CAAC,CAAC;IAEH,OAAO,CACL,eAAK,SAAS,EAAC,eAAe,aAC5B,cAAK,SAAS,EAAC,yCAAyC,YAAE,OAAO,GAAO,EACvE,iBAAiB,CAAC;gBACjB,aAAa;gBACb,aAAa;gBACb,QAAQ;gBACR,OAAO;gBACP,MAAM;gBACN,gBAAgB;aACjB,CAAC,IACE,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,kBAAkB;AAClB,MAAM,iBAAiB,GAAG,CAAC,EACzB,aAAa,EACb,aAAa,EACb,QAAQ,EACR,OAAO,EACP,MAAM,EACN,gBAAgB,GACjB,EAAE,EAAE,CAAC,CACJ,eACE,SAAS,EAAE,0CACT,aAAa,CAAC,CAAC,CAAC,yCAAyC,CAAC,CAAC,CAAC,EAC9D,EAAE,iCAC0B,SAAS,aAErC,iBACE,SAAS,EAAC,2DAA2D,EACrE,OAAO,EAAE,aAAa,gBACV,GAAG,aAAa,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,yBAAyB,EAAE,YAEnF,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,GAC/B,EACT,cACE,SAAS,EAAE,8CAA8C,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,iBAC3E,CAAC,aAAa,YAE1B,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,CAAC,GACvD,IACF,CACP,CAAC;AAEF,kBAAkB;AAClB,MAAM,sBAAsB,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,CACpE,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACnB,eAEM,OAAO,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC,oBAC7B,qBAAqB,EACpC,SAAS,EAAC,mDAAmD,YAE5D,CAAC,CAAC,IAAI,IALF,CAAC,CAAC,IAAI,CAMT,CACL,CAAC,CAAC;AAEL,MAAM,SAAS,GAAG,CAAC,OAAuB,EAAE,CAAS,EAAE,EAAE,CAAC,CACxD,cAAqB,SAAS,EAAE,gCAAgC,iBAAiB,CAAC,OAAO,CAAC,EAAE,IAAlF,MAAM,CAAC,CAAC,CAAC,CAA6E,CACjG,CAAC"}
|
|
@@ -11,9 +11,14 @@ const productTileStyleMap = {
|
|
|
11
11
|
primary: 'bg-white text-primary-text',
|
|
12
12
|
secondary: 'bg-primary-main text-white',
|
|
13
13
|
};
|
|
14
|
-
export const ProductTile = JSX(({ context, className = '', title, headingType = 'h3', description, benefits, buttons, image, version = 'primary', anchor = null, }) => {
|
|
15
|
-
return (_jsx("section", { className: `bg-white overflow-hidden text-primary-text font-sans p-9 box-border ${className} ${productTileStyleMap[version]} ${getTileRightPadding(className)} ${getTileMinHeight(className)} `, id: anchor, children: _jsxs(BaseTile, { context: context, title: title && (_jsx(Heading, { headingType: headingType, as: "h3", title: title, className: `whitespace-pre-wrap max-w-[600px]` })), buttons: buttons?.length ? (_jsx(ButtonSection, { context: context, buttons: buttons, className: "flex mt-9 gap-3" })) : null, image: image?.src && _jsx(Img, { className: "mt-auto ml-7", image: image }), children: [description ? (_jsx(Description, { className: "mt-4 max-w-[600px]", description: description })) : null,
|
|
14
|
+
export const ProductTile = JSX(({ context, className = '', title, headingType = 'h3', description, additionalDescription, benefits, buttons, image, version = 'primary', anchor = null, }) => {
|
|
15
|
+
return (_jsx("section", { className: `bg-white overflow-hidden text-primary-text font-sans p-9 box-border ${className} ${productTileStyleMap[version]} ${getTileRightPadding(className)} ${getTileMinHeight(className)} `, id: anchor, children: _jsxs(BaseTile, { context: context, title: title && (_jsx(Heading, { headingType: headingType, as: "h3", title: title, className: `whitespace-pre-wrap max-w-[600px]` })), buttons: buttons?.length ? (_jsx(ButtonSection, { context: context, buttons: buttons, className: "flex mt-9 gap-3" })) : null, image: image?.src && _jsx(Img, { className: "mt-auto ml-7", image: image }), children: [description ? (_jsx(Description, { className: "mt-4 max-w-[600px]", description: description })) : null, renderBenefits(benefits, version), additionalDescription
|
|
16
|
+
? renderAdditionalDescription(additionalDescription, version)
|
|
17
|
+
: null] }) }));
|
|
16
18
|
});
|
|
19
|
+
function renderBenefits(benefits = [], version) {
|
|
20
|
+
return (_jsxs("div", { className: "flex mt-5 mb-1", children: [benefits.length ? _jsx("div", { className: "mr-8", children: benefits.map(renderBenefitLabel) }) : null, benefits.length ? (_jsx("div", { className: "pt-1", children: benefits.map((_, i) => renderBenefitDescription(_, i, version)) })) : null] }));
|
|
21
|
+
}
|
|
17
22
|
function renderBenefitLabel(benefit, i) {
|
|
18
23
|
return (_jsx("div", { className: `text-xl font-medium ${i ? 'mt-2.5' : ''}`, children: benefit.label }, String(i)));
|
|
19
24
|
}
|
|
@@ -24,4 +29,11 @@ function renderBenefitDescription(benefit, i, version = 'primary') {
|
|
|
24
29
|
};
|
|
25
30
|
return (_jsx("div", { className: `text-sm ${i ? 'mt-4' : ''} ${labelStyleMap[version]}`, children: benefit.description }, String(i)));
|
|
26
31
|
}
|
|
32
|
+
function renderAdditionalDescription(additionalDescription, version = 'primary') {
|
|
33
|
+
const descStyleMap = {
|
|
34
|
+
primary: 'text-secondary-text',
|
|
35
|
+
secondary: 'text-white',
|
|
36
|
+
};
|
|
37
|
+
return _jsx("div", { className: `text-sm mt-2.5 ${descStyleMap[version]}`, children: additionalDescription });
|
|
38
|
+
}
|
|
27
39
|
//# 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,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAMtE,MAAM,mBAAmB,GAAiC;IACxD,OAAO,EAAE,4BAA4B;IACrC,SAAS,EAAE,4BAA4B;CACxC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAC5B,CAAC,EACC,OAAO,EACP,SAAS,GAAG,EAAE,EACd,KAAK,EACL,WAAW,GAAG,IAAI,EAClB,WAAW,EACX,QAAQ,EACR,OAAO,EACP,KAAK,EACL,OAAO,GAAG,SAAS,EACnB,MAAM,GAAG,IAAI,GACd,EAAE,EAAE;IACH,OAAO,CACL,kBACE,SAAS,EAAE,uEAAuE,SAAS,IACzF,mBAAmB,CAAC,OAAO,CAC7B,IAAI,mBAAmB,CAAC,SAAS,CAAC,IAAI,gBAAgB,CAAC,SAAS,CAAC,GAAG,EACpE,EAAE,EAAE,MAAM,YAEV,MAAC,QAAQ,IACP,OAAO,EAAE,OAAO,EAChB,KAAK,EACH,KAAK,IAAI,CACP,KAAC,OAAO,IACN,WAAW,EAAE,WAAW,EACxB,EAAE,EAAC,IAAI,EACP,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,mCAAmC,GAC9C,CACH,EAEH,OAAO,EACL,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAChB,KAAC,aAAa,IAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAC,iBAAiB,GAAG,CAClF,CAAC,CAAC,CAAC,IAAI,EAEV,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,KAAC,GAAG,IAAC,SAAS,EAAC,cAAc,EAAC,KAAK,EAAE,KAAK,GAAI,aAElE,WAAW,CAAC,CAAC,CAAC,CACb,KAAC,WAAW,IAAC,SAAS,EAAC,oBAAoB,EAAC,WAAW,EAAE,WAAW,GAAI,CACzE,CAAC,CAAC,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"ProductTile.js","sourceRoot":"","sources":["../../../src/components/ProductTile/ProductTile.tsx"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@ const tileStyleMap = {
|
|
|
15
15
|
export const Tile = JSX((props) => {
|
|
16
16
|
const { context, title, headingType = 'h3', description, items, children, buttons, image, className = '', version = 'primary', role, anchor = null, } = props;
|
|
17
17
|
return (_jsx("section", { className: `overflow-hidden font-sans p-9 pr-3 box-border ${className} ${tileStyleMap[version]} ${getTileRightPadding(className)} ${getTileMinHeight(className)} `, role: role, id: anchor, children: _jsxs(BaseTile, { context: context, title: title && (_jsx(Heading, { headingType: headingType, as: "h3", title: title, className: `whitespace-pre-wrap max-w-[600px] ${title ? 'mb-3' : ''}
|
|
18
|
-
${version === 'primary' ? 'text-primary-text' : ''}` })), buttons: buttons?.length ? (_jsx(ButtonSection, { context: context, buttons: buttons, className: "flex mt-9 gap-3" })) : null, image: image?.src && _jsx(Img, { className: "mt-auto ml-7", image: image }), children: [description && (_jsx(Description, { className: "max-w-[600px] text-title-new-sm font-light", description: description })), children, renderList(items, version)] }) }));
|
|
18
|
+
${version === 'primary' ? 'text-primary-text' : ''}` })), buttons: buttons?.length ? (_jsx(ButtonSection, { context: context, buttons: buttons.map((button) => ({ ...button, className: 'w-[158px]' })), className: "flex mt-9 gap-3" })) : null, image: image?.src && _jsx(Img, { className: "mt-auto ml-7", image: image }), children: [description && (_jsx(Description, { className: "max-w-[600px] text-title-new-sm font-light", description: description })), children, renderList(items, version)] }) }));
|
|
19
19
|
});
|
|
20
20
|
function renderList(items, version) {
|
|
21
21
|
return items?.length ? (_jsx(List, { items: items, itemClassName: "text-title-2xs font-light mt-2", version: version === 'primary' ? 'tile' : 'tile-white' })) : null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tile.js","sourceRoot":"","sources":["../../../src/components/Tile/Tile.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,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAOtE,MAAM,YAAY,GAAiC;IACjD,OAAO,EAAE,4BAA4B;IACrC,SAAS,EAAE,4BAA4B;CACxC,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,CAAY,CAAC,KAAK,EAAE,EAAE;IAC3C,MAAM,EACJ,OAAO,EACP,KAAK,EACL,WAAW,GAAG,IAAI,EAClB,WAAW,EACX,KAAK,EACL,QAAQ,EACR,OAAO,EACP,KAAK,EACL,SAAS,GAAG,EAAE,EACd,OAAO,GAAG,SAAS,EACnB,IAAI,EACJ,MAAM,GAAG,IAAI,GACd,GAAG,KAAK,CAAC;IAEV,OAAO,CACL,kBACE,SAAS,EAAE,iDAAiD,SAAS,IACnE,YAAY,CAAC,OAAO,CACtB,IAAI,mBAAmB,CAAC,SAAS,CAAC,IAAI,gBAAgB,CAAC,SAAS,CAAC,GAAG,EACpE,IAAI,EAAE,IAAI,EACV,EAAE,EAAE,MAAM,YAEV,MAAC,QAAQ,IACP,OAAO,EAAE,OAAO,EAChB,KAAK,EACH,KAAK,IAAI,CACP,KAAC,OAAO,IACN,WAAW,EAAE,WAAW,EACxB,EAAE,EAAC,IAAI,EACP,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,qCAAqC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;gBACjE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,EAAE,GACpD,CACH,EAEH,OAAO,EACL,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAChB,KAAC,aAAa,
|
|
1
|
+
{"version":3,"file":"Tile.js","sourceRoot":"","sources":["../../../src/components/Tile/Tile.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,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAOtE,MAAM,YAAY,GAAiC;IACjD,OAAO,EAAE,4BAA4B;IACrC,SAAS,EAAE,4BAA4B;CACxC,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,CAAY,CAAC,KAAK,EAAE,EAAE;IAC3C,MAAM,EACJ,OAAO,EACP,KAAK,EACL,WAAW,GAAG,IAAI,EAClB,WAAW,EACX,KAAK,EACL,QAAQ,EACR,OAAO,EACP,KAAK,EACL,SAAS,GAAG,EAAE,EACd,OAAO,GAAG,SAAS,EACnB,IAAI,EACJ,MAAM,GAAG,IAAI,GACd,GAAG,KAAK,CAAC;IAEV,OAAO,CACL,kBACE,SAAS,EAAE,iDAAiD,SAAS,IACnE,YAAY,CAAC,OAAO,CACtB,IAAI,mBAAmB,CAAC,SAAS,CAAC,IAAI,gBAAgB,CAAC,SAAS,CAAC,GAAG,EACpE,IAAI,EAAE,IAAI,EACV,EAAE,EAAE,MAAM,YAEV,MAAC,QAAQ,IACP,OAAO,EAAE,OAAO,EAChB,KAAK,EACH,KAAK,IAAI,CACP,KAAC,OAAO,IACN,WAAW,EAAE,WAAW,EACxB,EAAE,EAAC,IAAI,EACP,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,qCAAqC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;gBACjE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,EAAE,GACpD,CACH,EAEH,OAAO,EACL,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAChB,KAAC,aAAa,IACZ,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC,EACzE,SAAS,EAAC,iBAAiB,GAC3B,CACH,CAAC,CAAC,CAAC,IAAI,EAEV,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,KAAC,GAAG,IAAC,SAAS,EAAC,cAAc,EAAC,KAAK,EAAE,KAAK,GAAI,aAElE,WAAW,IAAI,CACd,KAAC,WAAW,IACV,SAAS,EAAC,4CAA4C,EACtD,WAAW,EAAE,WAAW,GACxB,CACH,EACA,QAAQ,EACR,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,IAClB,GACH,CACX,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,SAAS,UAAU,CAAC,KAAK,EAAE,OAAO;IAChC,OAAO,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CACrB,KAAC,IAAI,IACH,KAAK,EAAE,KAAK,EACZ,aAAa,EAAC,gCAAgC,EAC9C,OAAO,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,GACtD,CACH,CAAC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC"}
|
package/mobile/lib/types.d.ts
CHANGED
|
@@ -37,15 +37,10 @@ export interface ContentPageMeta {
|
|
|
37
37
|
twitter?: Record<string, string>;
|
|
38
38
|
jsonLd?: string;
|
|
39
39
|
}
|
|
40
|
-
export interface CustomPageTemplate {
|
|
41
|
-
content?: Record<string, any>;
|
|
42
|
-
type?: string;
|
|
43
|
-
}
|
|
44
40
|
export interface ContentPageDef extends ContentPageMeta {
|
|
45
41
|
style?: string[];
|
|
46
42
|
blocks?: BlockDef[];
|
|
47
43
|
slots?: SlotsMap;
|
|
48
|
-
customPageTmpl?: CustomPageTemplate;
|
|
49
44
|
likeControl?: boolean;
|
|
50
45
|
colorPalette?: ColorPalette;
|
|
51
46
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
|
|
2
2
|
import { JSX } from '@redneckz/uni-jsx';
|
|
3
3
|
export const ButtonInner = JSX((props) => {
|
|
4
|
-
const { text, aboveText, appendLeft } = 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-button text-left", children: text })] })) : null] }));
|
|
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-button text-left", children: text })] })) : null, appendRight ? appendRight : null] }));
|
|
6
6
|
});
|
|
7
7
|
const getButtonStyle = (props) => {
|
|
8
8
|
const { version, aboveText, rounded } = props;
|
|
@@ -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,GAAG,KAAK,CAAC;
|
|
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;IAC3D,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,uBAAuB,YAAE,IAAI,GAAO,IAC/C,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,WAAW,EAAE,CAAC;IAEvE,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"}
|
|
@@ -6,7 +6,7 @@ import { Button } from './Button.js';
|
|
|
6
6
|
export const ButtonSection = JSX(({ context, className = '', buttons }) => {
|
|
7
7
|
const { handlerDecorator } = context;
|
|
8
8
|
const router = context.useRouter();
|
|
9
|
-
return buttons?.length ? (_jsx("div", { className:
|
|
9
|
+
return buttons?.length ? (_jsx("div", { className: className, children: buttons.map((button, index) => renderButton(useLink({ router, handlerDecorator }, button), index)) })) : null;
|
|
10
10
|
});
|
|
11
11
|
function renderButton({ icon, ...button }, i) {
|
|
12
12
|
if (!button?.text)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonSection.js","sourceRoot":"","sources":["../../../src/ui-kit/Button/ButtonSection.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAKlC,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAqB,CAAC,EAAE,OAAO,EAAE,SAAS,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;IAC5F,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC;IACrC,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IACnC,OAAO,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CACvB,cAAK,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"ButtonSection.js","sourceRoot":"","sources":["../../../src/ui-kit/Button/ButtonSection.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAKlC,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAqB,CAAC,EAAE,OAAO,EAAE,SAAS,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;IAC5F,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC;IACrC,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IACnC,OAAO,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CACvB,cAAK,SAAS,EAAE,SAAS,YACtB,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,CAAC;AACX,CAAC,CAAC,CAAC;AAEH,SAAS,YAAY,CAAC,EAAE,IAAI,EAAE,GAAG,MAAM,EAAuB,EAAE,CAAS;IACvE,IAAI,CAAC,MAAM,EAAE,IAAI;QAAE,OAAO;IAE1B,OAAO,IAAI,CAAC,CAAC,CAAC,CACZ,KAAC,MAAM,IAEL,UAAU,EAAE,KAAC,GAAG,IAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,KAAK,SAAG,KACzD,MAAM,IAFL,MAAM,CAAC,CAAC,CAAC,CAGd,CACH,CAAC,CAAC,CAAC,CACF,KAAC,MAAM,OAAqB,MAAM,IAArB,MAAM,CAAC,CAAC,CAAC,CAAgB,CACvC,CAAC;AACJ,CAAC"}
|
|
@@ -29,6 +29,12 @@ export interface HeaderContent extends SitemapProps {
|
|
|
29
29
|
* @default Москва
|
|
30
30
|
*/
|
|
31
31
|
defaultLocation?: string;
|
|
32
|
+
/**
|
|
33
|
+
* @title Показывать подменю
|
|
34
|
+
* @hidden
|
|
35
|
+
* @default true
|
|
36
|
+
*/
|
|
37
|
+
showSubMenu?: boolean;
|
|
32
38
|
/**
|
|
33
39
|
* @title Фон элемента
|
|
34
40
|
* @hidden
|
|
@@ -8,6 +8,11 @@ import { isSSR } from '../../utils/isSSR';
|
|
|
8
8
|
import type { ContentPageContext } from '../ContentPage/ContentPageContext';
|
|
9
9
|
import { headerSubMenuObserver } from './HeaderSubMenuObserver';
|
|
10
10
|
|
|
11
|
+
const DOT_BG_COLORS_MAP: Record<BgColorVersion, string> = {
|
|
12
|
+
'bg-white': 'bg-primary-text',
|
|
13
|
+
transparent: 'bg-white',
|
|
14
|
+
};
|
|
15
|
+
|
|
11
16
|
export interface HeaderSubMenuProps {
|
|
12
17
|
context: ContentPageContext;
|
|
13
18
|
subItems?: LinkProps[];
|
|
@@ -51,6 +56,7 @@ export const HeaderSubMenu = JSX<HeaderSubMenuProps>(({ context, subItems, bgCol
|
|
|
51
56
|
subMenuIsShow,
|
|
52
57
|
toggleSubMenu,
|
|
53
58
|
subItems,
|
|
59
|
+
bgColor,
|
|
54
60
|
router,
|
|
55
61
|
handlerDecorator,
|
|
56
62
|
})}
|
|
@@ -63,6 +69,7 @@ const renderDotsSubMenu = ({
|
|
|
63
69
|
subMenuIsShow,
|
|
64
70
|
toggleSubMenu,
|
|
65
71
|
subItems,
|
|
72
|
+
bgColor,
|
|
66
73
|
router,
|
|
67
74
|
handlerDecorator,
|
|
68
75
|
}) => (
|
|
@@ -77,9 +84,7 @@ const renderDotsSubMenu = ({
|
|
|
77
84
|
onClick={toggleSubMenu}
|
|
78
85
|
aria-label={`${subMenuIsShow ? 'Скрыть другие разделы' : 'Показать другие разделы'}`}
|
|
79
86
|
>
|
|
80
|
-
{Array(3)
|
|
81
|
-
.fill(0)
|
|
82
|
-
.map((_, i) => renderDot(i))}
|
|
87
|
+
{Array(3).fill(bgColor).map(renderDot)}
|
|
83
88
|
</button>
|
|
84
89
|
<div
|
|
85
90
|
className={`flex flex-col rounded-md bg-white p-6 pb-2 ${subMenuIsShow ? '' : 'hidden'}`}
|
|
@@ -103,6 +108,6 @@ const renderDotsSubMenuItems = (subItems, router, handlerDecorator) =>
|
|
|
103
108
|
</a>
|
|
104
109
|
));
|
|
105
110
|
|
|
106
|
-
const renderDot = (i: number) => (
|
|
107
|
-
<div key={String(i)} className=
|
|
111
|
+
const renderDot = (bgColor: BgColorVersion, i: number) => (
|
|
112
|
+
<div key={String(i)} className={`w-[3px] h-[3px] rounded mr-1 ${DOT_BG_COLORS_MAP[bgColor]}`} />
|
|
108
113
|
);
|
|
@@ -8,7 +8,7 @@ import { Img } from '../../ui-kit/Img/Img';
|
|
|
8
8
|
import { BaseTile } from '../BaseTile/BaseTile';
|
|
9
9
|
import { getTileMinHeight } from '../BaseTile/getTileMinHeight';
|
|
10
10
|
import { getTileRightPadding } from '../BaseTile/getTileRightPadding';
|
|
11
|
-
import type {
|
|
11
|
+
import type { TextBenefit } from '../BenefitsBlock/BenefitsBlockContent';
|
|
12
12
|
import type { ProductTileContent } from './ProductTileContent';
|
|
13
13
|
|
|
14
14
|
export interface ProductTileProps extends ProductTileContent, UniBlockProps {}
|
|
@@ -25,6 +25,7 @@ export const ProductTile = JSX<ProductTileProps>(
|
|
|
25
25
|
title,
|
|
26
26
|
headingType = 'h3',
|
|
27
27
|
description,
|
|
28
|
+
additionalDescription,
|
|
28
29
|
benefits,
|
|
29
30
|
buttons,
|
|
30
31
|
image,
|
|
@@ -60,23 +61,31 @@ export const ProductTile = JSX<ProductTileProps>(
|
|
|
60
61
|
{description ? (
|
|
61
62
|
<Description className="mt-4 max-w-[600px]" description={description} />
|
|
62
63
|
) : null}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
<div className="pt-1">
|
|
69
|
-
{benefits.map((_, i) => renderBenefitDescription(_, i, version))}
|
|
70
|
-
</div>
|
|
71
|
-
) : null}
|
|
72
|
-
</div>
|
|
64
|
+
{renderBenefits(benefits, version)}
|
|
65
|
+
|
|
66
|
+
{additionalDescription
|
|
67
|
+
? renderAdditionalDescription(additionalDescription, version)
|
|
68
|
+
: null}
|
|
73
69
|
</BaseTile>
|
|
74
70
|
</section>
|
|
75
71
|
);
|
|
76
72
|
},
|
|
77
73
|
);
|
|
78
74
|
|
|
79
|
-
function
|
|
75
|
+
function renderBenefits(benefits: TextBenefit[] = [], version: BlockVersion) {
|
|
76
|
+
return (
|
|
77
|
+
<div className="flex mt-5 mb-1">
|
|
78
|
+
{benefits.length ? <div className="mr-8">{benefits.map(renderBenefitLabel)}</div> : null}
|
|
79
|
+
{benefits.length ? (
|
|
80
|
+
<div className="pt-1">
|
|
81
|
+
{benefits.map((_, i) => renderBenefitDescription(_, i, version))}
|
|
82
|
+
</div>
|
|
83
|
+
) : null}
|
|
84
|
+
</div>
|
|
85
|
+
);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
function renderBenefitLabel(benefit: TextBenefit, i: number) {
|
|
80
89
|
return (
|
|
81
90
|
<div key={String(i)} className={`text-xl font-medium ${i ? 'mt-2.5' : ''}`}>
|
|
82
91
|
{benefit.label}
|
|
@@ -84,7 +93,7 @@ function renderBenefitLabel(benefit: Benefit, i: number) {
|
|
|
84
93
|
);
|
|
85
94
|
}
|
|
86
95
|
|
|
87
|
-
function renderBenefitDescription(benefit:
|
|
96
|
+
function renderBenefitDescription(benefit: TextBenefit, i: number, version = 'primary') {
|
|
88
97
|
const labelStyleMap: Record<BlockVersion, string> = {
|
|
89
98
|
primary: 'text-secondary-text',
|
|
90
99
|
secondary: 'text-white',
|
|
@@ -95,3 +104,11 @@ function renderBenefitDescription(benefit: Benefit, i: number, version = 'primar
|
|
|
95
104
|
</div>
|
|
96
105
|
);
|
|
97
106
|
}
|
|
107
|
+
|
|
108
|
+
function renderAdditionalDescription(additionalDescription: string, version = 'primary') {
|
|
109
|
+
const descStyleMap: Record<BlockVersion, string> = {
|
|
110
|
+
primary: 'text-secondary-text',
|
|
111
|
+
secondary: 'text-white',
|
|
112
|
+
};
|
|
113
|
+
return <div className={`text-sm mt-2.5 ${descStyleMap[version]}`}>{additionalDescription}</div>;
|
|
114
|
+
}
|
|
@@ -59,7 +59,11 @@ export const Tile = JSX<TileProps>((props) => {
|
|
|
59
59
|
}
|
|
60
60
|
buttons={
|
|
61
61
|
buttons?.length ? (
|
|
62
|
-
<ButtonSection
|
|
62
|
+
<ButtonSection
|
|
63
|
+
context={context}
|
|
64
|
+
buttons={buttons.map((button) => ({ ...button, className: 'w-[158px]' }))}
|
|
65
|
+
className="flex mt-9 gap-3"
|
|
66
|
+
/>
|
|
63
67
|
) : null
|
|
64
68
|
}
|
|
65
69
|
image={image?.src && <Img className="mt-auto ml-7" image={image} />}
|
package/mobile/src/types.ts
CHANGED
|
@@ -44,16 +44,10 @@ export interface ContentPageMeta {
|
|
|
44
44
|
jsonLd?: string;
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
-
export interface CustomPageTemplate {
|
|
48
|
-
content?: Record<string, any>;
|
|
49
|
-
type?: string;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
47
|
export interface ContentPageDef extends ContentPageMeta {
|
|
53
48
|
style?: string[];
|
|
54
49
|
blocks?: BlockDef[];
|
|
55
50
|
slots?: SlotsMap;
|
|
56
|
-
customPageTmpl?: CustomPageTemplate;
|
|
57
51
|
likeControl?: boolean;
|
|
58
52
|
colorPalette?: ColorPalette;
|
|
59
53
|
}
|
|
@@ -7,7 +7,7 @@ interface ButtonInnerProps extends ButtonWithIconProps {
|
|
|
7
7
|
}
|
|
8
8
|
|
|
9
9
|
export const ButtonInner = JSX<ButtonInnerProps>((props) => {
|
|
10
|
-
const { text, aboveText, appendLeft } = props;
|
|
10
|
+
const { text, aboveText, appendLeft, appendRight } = props;
|
|
11
11
|
return (
|
|
12
12
|
<div className={getButtonStyle(props)}>
|
|
13
13
|
{appendLeft ? appendLeft : null}
|
|
@@ -17,6 +17,7 @@ export const ButtonInner = JSX<ButtonInnerProps>((props) => {
|
|
|
17
17
|
<div className="text-button text-left">{text}</div>
|
|
18
18
|
</div>
|
|
19
19
|
) : null}
|
|
20
|
+
{appendRight ? appendRight : null}
|
|
20
21
|
</div>
|
|
21
22
|
);
|
|
22
23
|
});
|
|
@@ -11,7 +11,7 @@ export const ButtonSection = JSX<ButtonSectionProps>(({ context, className = '',
|
|
|
11
11
|
const { handlerDecorator } = context;
|
|
12
12
|
const router = context.useRouter();
|
|
13
13
|
return buttons?.length ? (
|
|
14
|
-
<div className={
|
|
14
|
+
<div className={className}>
|
|
15
15
|
{buttons.map((button, index) =>
|
|
16
16
|
renderButton(useLink({ router, handlerDecorator }, button), index),
|
|
17
17
|
)}
|
package/package.json
CHANGED
|
@@ -4,4 +4,5 @@ import { Header } from './Header';
|
|
|
4
4
|
export default {
|
|
5
5
|
default: <Header context={context} defaultLocation="Москва" />,
|
|
6
6
|
transparent: <Header context={context} defaultLocation="Москва" bgColor="transparent" />,
|
|
7
|
+
'no submenu': <Header context={context} defaultLocation="Москва" showSubMenu={false} />,
|
|
7
8
|
};
|
|
@@ -22,6 +22,7 @@ export const Header = JSX<HeaderProps>(
|
|
|
22
22
|
({
|
|
23
23
|
className = '',
|
|
24
24
|
defaultLocation = 'Москва',
|
|
25
|
+
showSubMenu = true,
|
|
25
26
|
bgColor = 'bg-white',
|
|
26
27
|
context,
|
|
27
28
|
topItems,
|
|
@@ -58,7 +59,9 @@ export const Header = JSX<HeaderProps>(
|
|
|
58
59
|
/>
|
|
59
60
|
</div>
|
|
60
61
|
<div className={`mt-6 h-[1px] ${BORDER_COLORS[bgColor]}`} />
|
|
61
|
-
|
|
62
|
+
{showSubMenu && activeTopItem?.items?.length ? (
|
|
63
|
+
<HeaderSubMenu context={context} subItems={activeTopItem.items} bgColor={bgColor} />
|
|
64
|
+
) : null}
|
|
62
65
|
</div>
|
|
63
66
|
</header>
|
|
64
67
|
);
|
|
@@ -29,6 +29,12 @@ export interface HeaderContent extends SitemapProps {
|
|
|
29
29
|
* @default Москва
|
|
30
30
|
*/
|
|
31
31
|
defaultLocation?: string;
|
|
32
|
+
/**
|
|
33
|
+
* @title Показывать подменю
|
|
34
|
+
* @hidden
|
|
35
|
+
* @default true
|
|
36
|
+
*/
|
|
37
|
+
showSubMenu?: boolean;
|
|
32
38
|
/**
|
|
33
39
|
* @title Фон элемента
|
|
34
40
|
* @hidden
|
|
@@ -8,6 +8,11 @@ import { isSSR } from '../../utils/isSSR';
|
|
|
8
8
|
import type { ContentPageContext } from '../ContentPage/ContentPageContext';
|
|
9
9
|
import { headerSubMenuObserver } from './HeaderSubMenuObserver';
|
|
10
10
|
|
|
11
|
+
const DOT_BG_COLORS_MAP: Record<BgColorVersion, string> = {
|
|
12
|
+
'bg-white': 'bg-primary-text',
|
|
13
|
+
transparent: 'bg-white',
|
|
14
|
+
};
|
|
15
|
+
|
|
11
16
|
export interface HeaderSubMenuProps {
|
|
12
17
|
context: ContentPageContext;
|
|
13
18
|
subItems?: LinkProps[];
|
|
@@ -51,6 +56,7 @@ export const HeaderSubMenu = JSX<HeaderSubMenuProps>(({ context, subItems, bgCol
|
|
|
51
56
|
subMenuIsShow,
|
|
52
57
|
toggleSubMenu,
|
|
53
58
|
subItems,
|
|
59
|
+
bgColor,
|
|
54
60
|
router,
|
|
55
61
|
handlerDecorator,
|
|
56
62
|
})}
|
|
@@ -63,6 +69,7 @@ const renderDotsSubMenu = ({
|
|
|
63
69
|
subMenuIsShow,
|
|
64
70
|
toggleSubMenu,
|
|
65
71
|
subItems,
|
|
72
|
+
bgColor,
|
|
66
73
|
router,
|
|
67
74
|
handlerDecorator,
|
|
68
75
|
}) => (
|
|
@@ -77,9 +84,7 @@ const renderDotsSubMenu = ({
|
|
|
77
84
|
onClick={toggleSubMenu}
|
|
78
85
|
aria-label={`${subMenuIsShow ? 'Скрыть другие разделы' : 'Показать другие разделы'}`}
|
|
79
86
|
>
|
|
80
|
-
{Array(3)
|
|
81
|
-
.fill(0)
|
|
82
|
-
.map((_, i) => renderDot(i))}
|
|
87
|
+
{Array(3).fill(bgColor).map(renderDot)}
|
|
83
88
|
</button>
|
|
84
89
|
<div
|
|
85
90
|
className={`flex flex-col rounded-md bg-white p-6 pb-2 ${subMenuIsShow ? '' : 'hidden'}`}
|
|
@@ -103,6 +108,6 @@ const renderDotsSubMenuItems = (subItems, router, handlerDecorator) =>
|
|
|
103
108
|
</a>
|
|
104
109
|
));
|
|
105
110
|
|
|
106
|
-
const renderDot = (i: number) => (
|
|
107
|
-
<div key={String(i)} className=
|
|
111
|
+
const renderDot = (bgColor: BgColorVersion, i: number) => (
|
|
112
|
+
<div key={String(i)} className={`w-[3px] h-[3px] rounded mr-1 ${DOT_BG_COLORS_MAP[bgColor]}`} />
|
|
108
113
|
);
|