@redneckz/wildless-cms-uni-blocks 0.2.20 → 0.2.21
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/ContentPage.d.ts +2 -0
- package/dist/ContentPage.js +2 -2
- package/dist/ContentPage.js.map +1 -1
- package/dist/ContentPageContext.d.ts +11 -0
- package/dist/ContentPageContext.js +2 -0
- package/dist/ContentPageContext.js.map +1 -0
- package/dist/Header.d.ts +4 -2
- package/dist/Header.js +22 -5
- package/dist/Header.js.map +1 -1
- package/dist/ProductBlock.d.ts +6 -3
- package/dist/ProductBlock.js +4 -2
- package/dist/ProductBlock.js.map +1 -1
- package/dist/ProductColumnBlock.d.ts +4 -2
- package/dist/ProductColumnBlock.js +4 -3
- package/dist/ProductColumnBlock.js.map +1 -1
- package/dist/ui-kit/Button.d.ts +3 -7
- package/dist/ui-kit/Link.d.ts +5 -0
- package/dist/ui-kit/Link.js +2 -0
- package/dist/ui-kit/Link.js.map +1 -0
- package/dist/ui-kit/PrimaryButton.d.ts +3 -2
- package/dist/ui-kit/PrimaryButton.js.map +1 -1
- package/dist/ui-kit/TopItem.d.ts +3 -3
- package/dist/useLink.d.ts +8 -0
- package/dist/useLink.js +20 -0
- package/dist/useLink.js.map +1 -0
- package/lib/ContentPage.d.ts +2 -0
- package/lib/ContentPage.js +2 -2
- package/lib/ContentPage.js.map +1 -1
- package/lib/ContentPageContext.d.ts +11 -0
- package/lib/ContentPageContext.js +2 -0
- package/lib/ContentPageContext.js.map +1 -0
- package/lib/Header.d.ts +4 -2
- package/lib/Header.js +22 -5
- package/lib/Header.js.map +1 -1
- package/lib/ProductBlock.d.ts +6 -3
- package/lib/ProductBlock.js +4 -2
- package/lib/ProductBlock.js.map +1 -1
- package/lib/ProductColumnBlock.d.ts +4 -2
- package/lib/ProductColumnBlock.js +4 -3
- package/lib/ProductColumnBlock.js.map +1 -1
- package/lib/common.css +1 -1
- package/lib/ui-kit/Button.d.ts +3 -7
- package/lib/ui-kit/Link.d.ts +5 -0
- package/lib/ui-kit/Link.js +2 -0
- package/lib/ui-kit/Link.js.map +1 -0
- package/lib/ui-kit/PrimaryButton.d.ts +3 -2
- package/lib/ui-kit/PrimaryButton.js.map +1 -1
- package/lib/ui-kit/TopItem.d.ts +3 -3
- package/lib/useLink.d.ts +8 -0
- package/lib/useLink.js +17 -0
- package/lib/useLink.js.map +1 -0
- package/package.json +1 -1
package/dist/ContentPage.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ContentPageContext } from './ContentPageContext';
|
|
1
2
|
import type { BlockDef, ContentPageDef } from './types';
|
|
2
3
|
interface BlockDecoratorProps<VNode> {
|
|
3
4
|
blockClassName: string;
|
|
@@ -11,6 +12,7 @@ export declare type BlockDecorator<VNode = any> = (props: BlockDecoratorProps<VN
|
|
|
11
12
|
export interface ContentPageProps {
|
|
12
13
|
className?: string;
|
|
13
14
|
data: ContentPageDef;
|
|
15
|
+
context: ContentPageContext;
|
|
14
16
|
blockDecorator?: BlockDecorator;
|
|
15
17
|
}
|
|
16
18
|
export declare const ContentPage: (props: import("@redneckz/uni-jsx").PropsWithChildren<ContentPageProps, any>, context?: any) => any;
|
package/dist/ContentPage.js
CHANGED
|
@@ -4,7 +4,7 @@ const jsx_runtime_1 = require("@redneckz/uni-jsx/jsx-runtime");
|
|
|
4
4
|
const uni_jsx_1 = require("@redneckz/uni-jsx");
|
|
5
5
|
const Blocks_1 = require("./Blocks");
|
|
6
6
|
const defaultBlockDecorator = ({ blockClassName, block, render }) => render({ blockClassName, block });
|
|
7
|
-
exports.ContentPage = (0, uni_jsx_1.JSX)(({ className, data: { style: pageStyle, blocks }, blockDecorator = defaultBlockDecorator }) => {
|
|
7
|
+
exports.ContentPage = (0, uni_jsx_1.JSX)(({ className, data: { style: pageStyle, blocks }, context, blockDecorator = defaultBlockDecorator, }) => {
|
|
8
8
|
return ((0, jsx_runtime_1.jsx)("section", { className: `grid grid-cols-12 ${style2className(pageStyle)} ${className}`, children: blocks && blocks.map(renderBlock) }));
|
|
9
9
|
function renderBlock(block, i) {
|
|
10
10
|
const { type } = block;
|
|
@@ -18,7 +18,7 @@ exports.ContentPage = (0, uni_jsx_1.JSX)(({ className, data: { style: pageStyle,
|
|
|
18
18
|
block,
|
|
19
19
|
render: (props) => {
|
|
20
20
|
const { content, blocks } = props.block;
|
|
21
|
-
return ((0, jsx_runtime_1.jsx)(BlockComponent, { className: props.blockClassName, ...content, children: blocks && blocks.map(renderBlock) }, `${type}-${i}`));
|
|
21
|
+
return ((0, jsx_runtime_1.jsx)(BlockComponent, { className: props.blockClassName, context: context, ...content, children: blocks && blocks.map(renderBlock) }, `${type}-${i}`));
|
|
22
22
|
},
|
|
23
23
|
});
|
|
24
24
|
}
|
package/dist/ContentPage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentPage.js","sourceRoot":"","sources":["../src/ContentPage.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,qCAAkC;
|
|
1
|
+
{"version":3,"file":"ContentPage.js","sourceRoot":"","sources":["../src/ContentPage.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,qCAAkC;AAmBlC,MAAM,qBAAqB,GAAmB,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAClF,MAAM,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;AAEvB,QAAA,WAAW,GAAG,IAAA,aAAG,EAC5B,CAAC,EACC,SAAS,EACT,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,EAClC,OAAO,EACP,cAAc,GAAG,qBAAqB,GACvC,EAAE,EAAE;IACH,OAAO,CACL,oCAAS,SAAS,EAAE,qBAAqB,eAAe,CAAC,SAAS,CAAC,IAAI,SAAS,EAAE,YAC/E,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,GAC1B,CACX,CAAC;IAEF,SAAS,WAAW,CAAC,KAAe,EAAE,CAAS;QAC7C,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,CAAC,IAAI,IAAI,eAAM,CAAC,EAAE;YACrB,OAAO,CAAC,IAAI,CAAC,kBAAkB,IAAI,iBAAiB,CAAC,CAAC;YACtD,OAAO,IAAI,CAAC;SACb;QAED,MAAM,cAAc,GAAG,eAAM,CAAC,IAA2B,CAAC,CAAC;QAC3D,OAAO,cAAc,CAAC;YACpB,cAAc,EAAE,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC;YAC5C,KAAK;YACL,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;gBAChB,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC;gBACxC,OAAO,CACL,uBAAC,cAAc,IAEb,SAAS,EAAE,KAAK,CAAC,cAAc,EAC/B,OAAO,EAAE,OAAO,KACZ,OAAO,YAEV,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,IAL7B,GAAG,IAAI,IAAI,CAAC,EAAE,CAMJ,CAClB,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CACF,CAAC;AAEF,SAAS,eAAe,CAAC,KAAkC;IACzD,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACtC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface Router {
|
|
2
|
+
pathname: string;
|
|
3
|
+
query: Record<string, string>;
|
|
4
|
+
href?: string;
|
|
5
|
+
basePath?: string;
|
|
6
|
+
push: (url: string) => void;
|
|
7
|
+
}
|
|
8
|
+
export interface ContentPageContext {
|
|
9
|
+
useRouter: () => Router;
|
|
10
|
+
handlerDecorator?: <F extends Function>(handler: F) => F;
|
|
11
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContentPageContext.js","sourceRoot":"","sources":["../src/ContentPageContext.tsx"],"names":[],"mappings":""}
|
package/dist/Header.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
1
|
+
import type { LinkContent } from './ui-kit/Link';
|
|
2
|
+
import type { ContentPageContext } from './ContentPageContext';
|
|
3
|
+
declare type HeaderMenuItem = LinkContent;
|
|
3
4
|
interface TopMenuItem extends HeaderMenuItem {
|
|
4
5
|
items?: HeaderMenuItem[];
|
|
5
6
|
}
|
|
@@ -8,6 +9,7 @@ export interface HeaderContent {
|
|
|
8
9
|
}
|
|
9
10
|
export interface HeaderProps extends HeaderContent {
|
|
10
11
|
className?: string;
|
|
12
|
+
context: ContentPageContext;
|
|
11
13
|
}
|
|
12
14
|
export declare const Header: (props: import("@redneckz/uni-jsx").PropsWithChildren<HeaderProps, any>, context?: any) => any;
|
|
13
15
|
export {};
|
package/dist/Header.js
CHANGED
|
@@ -5,10 +5,27 @@ const uni_jsx_1 = require("@redneckz/uni-jsx");
|
|
|
5
5
|
const HeaderItem_1 = require("./ui-kit/HeaderItem");
|
|
6
6
|
const Logo_1 = require("./ui-kit/Logo");
|
|
7
7
|
const TopItem_1 = require("./ui-kit/TopItem");
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
|
|
8
|
+
const useLink_1 = require("./useLink");
|
|
9
|
+
exports.Header = (0, uni_jsx_1.JSX)(({ className, context, topItems }) => {
|
|
10
|
+
const router = context.useRouter();
|
|
11
|
+
const activeTopItem = topItems?.find(isTopItemActive(router));
|
|
12
|
+
const activeSubItem = activeTopItem?.items?.find(isSubItemActive(router));
|
|
13
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: `py-8 px-20 bg-white rounded-bl-3xl rounded-br-3xl ${className || ''}`, children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex items-center", children: [(0, jsx_runtime_1.jsx)(Logo_1.Logo, { className: "mr-8" }), topItems?.map((_) => ((0, jsx_runtime_1.jsx)(TopItem_1.TopItem, { active: _ === activeTopItem, ...(0, useLink_1.useLink)(context, _) }, _.href)))] }), activeTopItem?.items && ((0, jsx_runtime_1.jsx)("div", { className: "mt-10", children: activeTopItem.items.map((_) => ((0, jsx_runtime_1.jsx)(HeaderItem_1.HeaderItem, { className: "mr-8", active: _ === activeSubItem, ...(0, useLink_1.useLink)(context, _) }, _.href))) }))] }));
|
|
13
14
|
});
|
|
15
|
+
const isURL = (href) => href?.includes('//');
|
|
16
|
+
const withoutQuery = (href) => (href || '').replace(/\/?\?.+/, '');
|
|
17
|
+
function isTopItemActive({ href, pathname }) {
|
|
18
|
+
return (item) => {
|
|
19
|
+
const itemHref = withoutQuery(item.href);
|
|
20
|
+
if (isURL(itemHref)) {
|
|
21
|
+
return Boolean(href && href.startsWith(itemHref));
|
|
22
|
+
}
|
|
23
|
+
return Boolean(item.href && pathname.startsWith(itemHref));
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
function isSubItemActive({ href, pathname }) {
|
|
27
|
+
return (item) => {
|
|
28
|
+
return withoutQuery(item.href) === (isURL(item.href) ? withoutQuery(href) : pathname);
|
|
29
|
+
};
|
|
30
|
+
}
|
|
14
31
|
//# sourceMappingURL=Header.js.map
|
package/dist/Header.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Header.js","sourceRoot":"","sources":["../src/Header.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AAExC,oDAAiD;AACjD,wCAAqC;AACrC,8CAA2C;
|
|
1
|
+
{"version":3,"file":"Header.js","sourceRoot":"","sources":["../src/Header.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AAExC,oDAAiD;AACjD,wCAAqC;AACrC,8CAA2C;AAE3C,uCAAoC;AAiBvB,QAAA,MAAM,GAAG,IAAA,aAAG,EAAc,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC1E,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAEnC,MAAM,aAAa,GAAG,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9D,MAAM,aAAa,GAAG,aAAa,EAAE,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1E,OAAO,CACL,iCAAK,SAAS,EAAE,qDAAqD,SAAS,IAAI,EAAE,EAAE,aACpF,iCAAK,SAAS,EAAC,mBAAmB,aAChC,uBAAC,WAAI,IAAC,SAAS,EAAC,MAAM,GAAG,EACxB,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACpB,uBAAC,iBAAO,IAAc,MAAM,EAAE,CAAC,KAAK,aAAa,KAAM,IAAA,iBAAO,EAAC,OAAO,EAAE,CAAC,CAAC,IAA5D,CAAC,CAAC,IAAI,CAA0D,CAC/E,CAAC,IACE,EACL,aAAa,EAAE,KAAK,IAAI,CACvB,gCAAK,SAAS,EAAC,OAAO,YACnB,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAC9B,uBAAC,uBAAU,IAET,SAAS,EAAC,MAAM,EAChB,MAAM,EAAE,CAAC,KAAK,aAAa,KACvB,IAAA,iBAAO,EAAC,OAAO,EAAE,CAAC,CAAC,IAHlB,CAAC,CAAC,IAAI,CAIX,CACH,CAAC,GACE,CACP,IACG,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,KAAK,GAAG,CAAC,IAAa,EAAE,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEtD,MAAM,YAAY,GAAG,CAAC,IAAa,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AAE5E,SAAS,eAAe,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAU;IACjD,OAAO,CAAC,IAAI,EAAE,EAAE;QACd,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE;YACnB,OAAO,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;SACnD;QACD,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7D,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAU;IACjD,OAAO,CAAC,IAAI,EAAE,EAAE;QACd,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACxF,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/ProductBlock.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import type { ContentPageContext } from './ContentPageContext';
|
|
1
2
|
import { Icons } from './Icons';
|
|
2
3
|
import { Picture } from './types';
|
|
3
|
-
import {
|
|
4
|
+
import type { LinkContent } from './ui-kit/Link';
|
|
4
5
|
export interface Benefit {
|
|
5
6
|
label: string;
|
|
6
7
|
description?: string;
|
|
@@ -8,12 +9,14 @@ export interface Benefit {
|
|
|
8
9
|
}
|
|
9
10
|
export interface ProductBlockContent {
|
|
10
11
|
title?: string;
|
|
11
|
-
description?: string
|
|
12
|
+
description?: string;
|
|
12
13
|
image?: Picture;
|
|
13
14
|
benefits?: Benefit[];
|
|
14
|
-
|
|
15
|
+
items?: string[];
|
|
16
|
+
button?: LinkContent;
|
|
15
17
|
}
|
|
16
18
|
export interface ProductBlockProps extends ProductBlockContent {
|
|
17
19
|
className?: string;
|
|
20
|
+
context: ContentPageContext;
|
|
18
21
|
}
|
|
19
22
|
export declare const ProductBlock: (props: import("@redneckz/uni-jsx").PropsWithChildren<ProductBlockProps, any>, context?: any) => any;
|
package/dist/ProductBlock.js
CHANGED
|
@@ -4,10 +4,12 @@ const jsx_runtime_1 = require("@redneckz/uni-jsx/jsx-runtime");
|
|
|
4
4
|
const uni_jsx_1 = require("@redneckz/uni-jsx");
|
|
5
5
|
const Icons_1 = require("./Icons");
|
|
6
6
|
const Img_1 = require("./Img");
|
|
7
|
+
const BlockItem_1 = require("./ui-kit/BlockItem");
|
|
7
8
|
const PrimaryButton_1 = require("./ui-kit/PrimaryButton");
|
|
9
|
+
const useLink_1 = require("./useLink");
|
|
8
10
|
exports.ProductBlock = (0, uni_jsx_1.JSX)((props) => {
|
|
9
|
-
const { className, title, description, benefits, button, image } = props;
|
|
10
|
-
return ((0, jsx_runtime_1.jsxs)("section", { className: `font-sans bg-white rounded-[40px] h-[470px] flex relative overflow-hidden ${className}`, children: [(0, jsx_runtime_1.jsxs)("div", { className: ['flex', 'flex-col', 'p-11', image && 'pr-0'].filter(Boolean).join(' '), children: [title && (0, jsx_runtime_1.jsx)("h1", { className: "font-medium text-title2 m-0 mb-4 whitespace-pre-wrap", children: title }), description && ((0, jsx_runtime_1.jsx)("div", { className: "font-normal text-base text-second-primary mb-7", children: description })), benefits && (0, jsx_runtime_1.jsx)("div", { className: "flex gap-6", children: benefits.map(renderBenefit) }), button && button.text && ((0, jsx_runtime_1.jsx)("div", { className: "mt-auto", children: (0, jsx_runtime_1.jsx)(PrimaryButton_1.PrimaryButton, { ...button }) }))] }), image && (0, jsx_runtime_1.jsx)("div", { className: "h-full flex", children: (0, jsx_runtime_1.jsx)(Img_1.Img, { image: image, className: "flex" }) })] }));
|
|
11
|
+
const { className, context, title, description, benefits, button, image, items } = props;
|
|
12
|
+
return ((0, jsx_runtime_1.jsxs)("section", { className: `font-sans bg-white rounded-[40px] h-[470px] flex justify-between relative overflow-hidden ${className}`, children: [(0, jsx_runtime_1.jsxs)("div", { className: ['flex', 'flex-col', 'p-11', image && 'pr-0'].filter(Boolean).join(' '), children: [title && (0, jsx_runtime_1.jsx)("h1", { className: "font-medium text-title2 m-0 mb-4 whitespace-pre-wrap", children: title }), description && ((0, jsx_runtime_1.jsx)("div", { className: "font-normal text-base text-second-primary mb-7", children: description })), benefits && benefits.length && ((0, jsx_runtime_1.jsx)("div", { className: "flex gap-6", children: benefits.map(renderBenefit) })), items && items.length && ((0, jsx_runtime_1.jsx)("section", { className: "flex flex-col", role: "list", children: items?.map((_) => ((0, jsx_runtime_1.jsx)(BlockItem_1.BlockItem, { className: "mt-6", text: _ }, _))) })), button && button.text && ((0, jsx_runtime_1.jsx)("div", { className: "mt-auto", children: (0, jsx_runtime_1.jsx)(PrimaryButton_1.PrimaryButton, { ...(0, useLink_1.useLink)(context, button) }) }))] }), image && (0, jsx_runtime_1.jsx)("div", { className: "h-full flex", children: (0, jsx_runtime_1.jsx)(Img_1.Img, { image: image, className: "flex" }) })] }));
|
|
11
13
|
});
|
|
12
14
|
function renderBenefit(benefit, index) {
|
|
13
15
|
return ((0, jsx_runtime_1.jsxs)("div", { className: "flex gap-4 items-center", children: [benefit.icon && ((0, jsx_runtime_1.jsx)("div", { className: "h-11 w-11 min-w-11 min-h-11 bg-second-light rounded-full p-[10px] box-border", children: Icons_1.Icons[benefit.icon] })), (0, jsx_runtime_1.jsxs)("div", { className: "flex gap-1 flex-col", 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-second-primary", children: benefit.description }))] })] }, index));
|
package/dist/ProductBlock.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductBlock.js","sourceRoot":"","sources":["../src/ProductBlock.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;
|
|
1
|
+
{"version":3,"file":"ProductBlock.js","sourceRoot":"","sources":["../src/ProductBlock.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AAExC,mCAAgC;AAChC,+BAA4B;AAE5B,kDAA+C;AAE/C,0DAAuD;AACvD,uCAAoC;AAoBvB,QAAA,YAAY,GAAG,IAAA,aAAG,EAAoB,CAAC,KAAK,EAAE,EAAE;IAC3D,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IAEzF,OAAO,CACL,qCACE,SAAS,EAAE,6FAA6F,SAAS,EAAE,aAEnH,iCAAK,SAAS,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,aACpF,KAAK,IAAI,+BAAI,SAAS,EAAC,sDAAsD,YAAE,KAAK,GAAM,EAC1F,WAAW,IAAI,CACd,gCAAK,SAAS,EAAC,gDAAgD,YAAE,WAAW,GAAO,CACpF,EACA,QAAQ,IAAI,QAAQ,CAAC,MAAM,IAAI,CAC9B,gCAAK,SAAS,EAAC,YAAY,YAAE,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,GAAO,CAChE,EACA,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,CACxB,oCAAS,SAAS,EAAC,eAAe,EAAC,IAAI,EAAC,MAAM,YAC3C,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACjB,uBAAC,qBAAS,IAAS,SAAS,EAAC,MAAM,EAAC,IAAI,EAAE,CAAC,IAA3B,CAAC,CAA8B,CAChD,CAAC,GACM,CACX,EACA,MAAM,IAAI,MAAM,CAAC,IAAI,IAAI,CACxB,gCAAK,SAAS,EAAC,SAAS,YACtB,uBAAC,6BAAa,OAAK,IAAA,iBAAO,EAAC,OAAO,EAAE,MAAM,CAAC,GAAI,GAC3C,CACP,IACG,EACL,KAAK,IAAI,gCAAK,SAAS,EAAC,aAAa,YAAE,uBAAC,SAAG,IAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAC,MAAM,GAAG,GAAO,IAC7E,CACX,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,SAAS,aAAa,CAAC,OAAO,EAAE,KAAK;IACnC,OAAO,CACL,iCAAiB,SAAS,EAAC,yBAAyB,aACjD,OAAO,CAAC,IAAI,IAAI,CACf,gCAAK,SAAS,EAAC,8EAA8E,YAC1F,aAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAChB,CACP,EACD,iCAAK,SAAS,EAAC,qBAAqB,aAClC,+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,KAAK,CAYT,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ContentPageContext } from './ContentPageContext';
|
|
2
|
+
import type { LinkContent } from './ui-kit/Link';
|
|
2
3
|
export interface ProductColumnBlockContent {
|
|
3
4
|
title?: string;
|
|
4
5
|
items?: string[];
|
|
5
|
-
button?:
|
|
6
|
+
button?: LinkContent;
|
|
6
7
|
promo?: boolean;
|
|
7
8
|
}
|
|
8
9
|
export interface ProductColumnBlockProps extends ProductColumnBlockContent {
|
|
9
10
|
className?: string;
|
|
11
|
+
context: ContentPageContext;
|
|
10
12
|
}
|
|
11
13
|
export declare const ProductColumnBlock: (props: import("@redneckz/uni-jsx").PropsWithChildren<ProductColumnBlockProps, any>, context?: any) => any;
|
|
@@ -2,9 +2,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
2
2
|
exports.ProductColumnBlock = 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 PrimaryButton_1 = require("./ui-kit/PrimaryButton");
|
|
6
5
|
const BlockItem_1 = require("./ui-kit/BlockItem");
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
const PrimaryButton_1 = require("./ui-kit/PrimaryButton");
|
|
7
|
+
const useLink_1 = require("./useLink");
|
|
8
|
+
exports.ProductColumnBlock = (0, uni_jsx_1.JSX)(({ className, context, title, items, button, promo }) => {
|
|
9
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: `relative p-8 bg-white text-black font-sans rounded-[40px] ${className || ''}`, children: [(0, jsx_runtime_1.jsx)("p", { className: "text-title font-medium m-0", children: title }), items && items.length && ((0, jsx_runtime_1.jsx)("section", { className: "flex flex-col", role: "list", children: items?.map((_) => ((0, jsx_runtime_1.jsx)(BlockItem_1.BlockItem, { className: "mt-6", text: _ }, _))) })), button && button.text && (0, jsx_runtime_1.jsx)(PrimaryButton_1.PrimaryButton, { className: "mt-12", ...(0, useLink_1.useLink)(context, button) }), promo && ((0, jsx_runtime_1.jsx)("div", { className: "absolute right-0 bottom-0 bg-promo font-normal px-12 py-3 text-xl rounded-tl-[74px] rounded-br-[40px]", children: "\u0410\u043A\u0446\u0438\u044F" }))] }));
|
|
9
10
|
});
|
|
10
11
|
//# sourceMappingURL=ProductColumnBlock.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductColumnBlock.js","sourceRoot":"","sources":["../src/ProductColumnBlock.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;
|
|
1
|
+
{"version":3,"file":"ProductColumnBlock.js","sourceRoot":"","sources":["../src/ProductColumnBlock.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AAExC,kDAA+C;AAE/C,0DAAuD;AACvD,uCAAoC;AAcvB,QAAA,kBAAkB,GAAG,IAAA,aAAG,EACnC,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;IACtD,OAAO,CACL,iCACE,SAAS,EAAE,6DAA6D,SAAS,IAAI,EAAE,EAAE,aAEzF,8BAAG,SAAS,EAAC,4BAA4B,YAAE,KAAK,GAAK,EACpD,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,CACxB,oCAAS,SAAS,EAAC,eAAe,EAAC,IAAI,EAAC,MAAM,YAC3C,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACjB,uBAAC,qBAAS,IAAS,SAAS,EAAC,MAAM,EAAC,IAAI,EAAE,CAAC,IAA3B,CAAC,CAA8B,CAChD,CAAC,GACM,CACX,EACA,MAAM,IAAI,MAAM,CAAC,IAAI,IAAI,uBAAC,6BAAa,IAAC,SAAS,EAAC,OAAO,KAAK,IAAA,iBAAO,EAAC,OAAO,EAAE,MAAM,CAAC,GAAI,EAC1F,KAAK,IAAI,CACR,gCAAK,SAAS,EAAC,uGAAuG,+CAEhH,CACP,IACG,CACP,CAAC;AACJ,CAAC,CACF,CAAC"}
|
package/dist/ui-kit/Button.d.ts
CHANGED
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
href?: string;
|
|
4
|
-
target?: '_blank' | '_self' | '_parent' | '_top' | string;
|
|
5
|
-
}
|
|
6
|
-
export interface ButtonProps extends ButtonContent {
|
|
1
|
+
import type { LinkContent } from './Link';
|
|
2
|
+
export interface ButtonProps extends LinkContent {
|
|
7
3
|
className?: string;
|
|
8
|
-
onClick?: () => any;
|
|
4
|
+
onClick?: (ev: MouseEvent) => any;
|
|
9
5
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Link.js","sourceRoot":"","sources":["../../src/ui-kit/Link.ts"],"names":[],"mappings":""}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
1
|
+
import type { LinkContent } from './Link';
|
|
2
|
+
import type { ButtonProps } from './Button';
|
|
3
|
+
export declare type PrimaryButtonContent = LinkContent;
|
|
3
4
|
export declare type PrimaryButtonProps = ButtonProps;
|
|
4
5
|
export declare const PrimaryButton: (props: import("@redneckz/uni-jsx").PropsWithChildren<ButtonProps, any>, context?: any) => any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PrimaryButton.js","sourceRoot":"","sources":["../../src/ui-kit/PrimaryButton.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;
|
|
1
|
+
{"version":3,"file":"PrimaryButton.js","sourceRoot":"","sources":["../../src/ui-kit/PrimaryButton.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AAO3B,QAAA,aAAa,GAAG,IAAA,aAAG,EAC9B,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;IACvD,OAAO,CACL,8BACE,SAAS,EAAE,oFACT,SAAS,IAAI,EACf,EAAE,EACF,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,YAEhB,iCAAM,SAAS,EAAC,gCAAgC,YAAE,IAAI,IAAI,QAAQ,GAAQ,GACxE,CACL,CAAC;AACJ,CAAC,CACF,CAAC"}
|
package/dist/ui-kit/TopItem.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export interface TopItemContent extends
|
|
1
|
+
import type { LinkContent } from './Link';
|
|
2
|
+
export interface TopItemContent extends LinkContent {
|
|
3
3
|
active?: boolean;
|
|
4
4
|
}
|
|
5
5
|
export interface TopItemProps extends TopItemContent {
|
|
6
6
|
className?: string;
|
|
7
|
-
onClick?: () => any;
|
|
7
|
+
onClick?: (ev: MouseEvent) => any;
|
|
8
8
|
}
|
|
9
9
|
export declare const TopItem: (props: import("@redneckz/uni-jsx").PropsWithChildren<TopItemProps, any>, context?: any) => any;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ContentPageContext } from './ContentPageContext';
|
|
2
|
+
import type { LinkContent } from './ui-kit/Link';
|
|
3
|
+
export declare function useLink({ useRouter, handlerDecorator }: ContentPageContext, link: Partial<LinkContent>): {
|
|
4
|
+
onClick: (ev: MouseEvent) => void;
|
|
5
|
+
text?: string | undefined;
|
|
6
|
+
href?: string | undefined;
|
|
7
|
+
target?: string | undefined;
|
|
8
|
+
};
|
package/dist/useLink.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
|
+
exports.useLink = void 0;
|
|
3
|
+
const defaultHandlerDecorator = (_) => _;
|
|
4
|
+
function useLink({ useRouter, handlerDecorator = defaultHandlerDecorator }, link) {
|
|
5
|
+
const router = useRouter();
|
|
6
|
+
const { href, target } = link;
|
|
7
|
+
return {
|
|
8
|
+
...link,
|
|
9
|
+
onClick: handlerDecorator((ev) => {
|
|
10
|
+
const isLocalHref = href && !href.includes('//');
|
|
11
|
+
const isLocalTarget = !target || target === '_self';
|
|
12
|
+
if (isLocalHref && isLocalTarget) {
|
|
13
|
+
ev.preventDefault();
|
|
14
|
+
router.push(href);
|
|
15
|
+
}
|
|
16
|
+
}),
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
exports.useLink = useLink;
|
|
20
|
+
//# sourceMappingURL=useLink.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLink.js","sourceRoot":"","sources":["../src/useLink.ts"],"names":[],"mappings":";;AAGA,MAAM,uBAAuB,GAAoC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAE1E,SAAgB,OAAO,CACrB,EAAE,SAAS,EAAE,gBAAgB,GAAG,uBAAuB,EAAsB,EAC7E,IAA0B;IAE1B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC9B,OAAO;QACL,GAAG,IAAI;QACP,OAAO,EAAE,gBAAgB,CAAC,CAAC,EAAc,EAAE,EAAE;YAC3C,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,MAAM,aAAa,GAAG,CAAC,MAAM,IAAI,MAAM,KAAK,OAAO,CAAC;YACpD,IAAI,WAAW,IAAI,aAAa,EAAE;gBAChC,EAAE,CAAC,cAAc,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACnB;QACH,CAAC,CAAC;KACH,CAAC;AACJ,CAAC;AAjBD,0BAiBC"}
|
package/lib/ContentPage.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ContentPageContext } from './ContentPageContext';
|
|
1
2
|
import type { BlockDef, ContentPageDef } from './types';
|
|
2
3
|
interface BlockDecoratorProps<VNode> {
|
|
3
4
|
blockClassName: string;
|
|
@@ -11,6 +12,7 @@ export declare type BlockDecorator<VNode = any> = (props: BlockDecoratorProps<VN
|
|
|
11
12
|
export interface ContentPageProps {
|
|
12
13
|
className?: string;
|
|
13
14
|
data: ContentPageDef;
|
|
15
|
+
context: ContentPageContext;
|
|
14
16
|
blockDecorator?: BlockDecorator;
|
|
15
17
|
}
|
|
16
18
|
export declare const ContentPage: (props: import("@redneckz/uni-jsx").PropsWithChildren<ContentPageProps, any>, context?: any) => any;
|
package/lib/ContentPage.js
CHANGED
|
@@ -2,7 +2,7 @@ import { jsx as _jsx } from "@redneckz/uni-jsx/jsx-runtime";
|
|
|
2
2
|
import { JSX } from '@redneckz/uni-jsx';
|
|
3
3
|
import { Blocks } from './Blocks.js';
|
|
4
4
|
const defaultBlockDecorator = ({ blockClassName, block, render }) => render({ blockClassName, block });
|
|
5
|
-
export const ContentPage = JSX(({ className, data: { style: pageStyle, blocks }, blockDecorator = defaultBlockDecorator }) => {
|
|
5
|
+
export const ContentPage = JSX(({ className, data: { style: pageStyle, blocks }, context, blockDecorator = defaultBlockDecorator, }) => {
|
|
6
6
|
return (_jsx("section", { className: `grid grid-cols-12 ${style2className(pageStyle)} ${className}`, children: blocks && blocks.map(renderBlock) }));
|
|
7
7
|
function renderBlock(block, i) {
|
|
8
8
|
const { type } = block;
|
|
@@ -16,7 +16,7 @@ export const ContentPage = JSX(({ className, data: { style: pageStyle, blocks },
|
|
|
16
16
|
block,
|
|
17
17
|
render: (props) => {
|
|
18
18
|
const { content, blocks } = props.block;
|
|
19
|
-
return (_jsx(BlockComponent, { className: props.blockClassName, ...content, children: blocks && blocks.map(renderBlock) }, `${type}-${i}`));
|
|
19
|
+
return (_jsx(BlockComponent, { className: props.blockClassName, context: context, ...content, children: blocks && blocks.map(renderBlock) }, `${type}-${i}`));
|
|
20
20
|
},
|
|
21
21
|
});
|
|
22
22
|
}
|
package/lib/ContentPage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentPage.js","sourceRoot":"","sources":["../src/ContentPage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"ContentPage.js","sourceRoot":"","sources":["../src/ContentPage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAmBlC,MAAM,qBAAqB,GAAmB,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAClF,MAAM,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;AAEpC,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAC5B,CAAC,EACC,SAAS,EACT,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,EAClC,OAAO,EACP,cAAc,GAAG,qBAAqB,GACvC,EAAE,EAAE;IACH,OAAO,CACL,kBAAS,SAAS,EAAE,qBAAqB,eAAe,CAAC,SAAS,CAAC,IAAI,SAAS,EAAE,YAC/E,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,GAC1B,CACX,CAAC;IAEF,SAAS,WAAW,CAAC,KAAe,EAAE,CAAS;QAC7C,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,EAAE;YACrB,OAAO,CAAC,IAAI,CAAC,kBAAkB,IAAI,iBAAiB,CAAC,CAAC;YACtD,OAAO,IAAI,CAAC;SACb;QAED,MAAM,cAAc,GAAG,MAAM,CAAC,IAA2B,CAAC,CAAC;QAC3D,OAAO,cAAc,CAAC;YACpB,cAAc,EAAE,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC;YAC5C,KAAK;YACL,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;gBAChB,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC;gBACxC,OAAO,CACL,KAAC,cAAc,IAEb,SAAS,EAAE,KAAK,CAAC,cAAc,EAC/B,OAAO,EAAE,OAAO,KACZ,OAAO,YAEV,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,IAL7B,GAAG,IAAI,IAAI,CAAC,EAAE,CAMJ,CAClB,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CACF,CAAC;AAEF,SAAS,eAAe,CAAC,KAAkC;IACzD,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACtC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface Router {
|
|
2
|
+
pathname: string;
|
|
3
|
+
query: Record<string, string>;
|
|
4
|
+
href?: string;
|
|
5
|
+
basePath?: string;
|
|
6
|
+
push: (url: string) => void;
|
|
7
|
+
}
|
|
8
|
+
export interface ContentPageContext {
|
|
9
|
+
useRouter: () => Router;
|
|
10
|
+
handlerDecorator?: <F extends Function>(handler: F) => F;
|
|
11
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContentPageContext.js","sourceRoot":"","sources":["../src/ContentPageContext.tsx"],"names":[],"mappings":""}
|
package/lib/Header.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
1
|
+
import type { LinkContent } from './ui-kit/Link';
|
|
2
|
+
import type { ContentPageContext } from './ContentPageContext';
|
|
3
|
+
declare type HeaderMenuItem = LinkContent;
|
|
3
4
|
interface TopMenuItem extends HeaderMenuItem {
|
|
4
5
|
items?: HeaderMenuItem[];
|
|
5
6
|
}
|
|
@@ -8,6 +9,7 @@ export interface HeaderContent {
|
|
|
8
9
|
}
|
|
9
10
|
export interface HeaderProps extends HeaderContent {
|
|
10
11
|
className?: string;
|
|
12
|
+
context: ContentPageContext;
|
|
11
13
|
}
|
|
12
14
|
export declare const Header: (props: import("@redneckz/uni-jsx").PropsWithChildren<HeaderProps, any>, context?: any) => any;
|
|
13
15
|
export {};
|
package/lib/Header.js
CHANGED
|
@@ -3,10 +3,27 @@ import { JSX } from '@redneckz/uni-jsx';
|
|
|
3
3
|
import { HeaderItem } from './ui-kit/HeaderItem.js';
|
|
4
4
|
import { Logo } from './ui-kit/Logo.js';
|
|
5
5
|
import { TopItem } from './ui-kit/TopItem.js';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
|
|
6
|
+
import { useLink } from './useLink.js';
|
|
7
|
+
export const Header = JSX(({ className, context, topItems }) => {
|
|
8
|
+
const router = context.useRouter();
|
|
9
|
+
const activeTopItem = topItems?.find(isTopItemActive(router));
|
|
10
|
+
const activeSubItem = activeTopItem?.items?.find(isSubItemActive(router));
|
|
11
|
+
return (_jsxs("div", { className: `py-8 px-20 bg-white rounded-bl-3xl rounded-br-3xl ${className || ''}`, children: [_jsxs("div", { className: "flex items-center", children: [_jsx(Logo, { className: "mr-8" }), topItems?.map((_) => (_jsx(TopItem, { active: _ === activeTopItem, ...useLink(context, _) }, _.href)))] }), activeTopItem?.items && (_jsx("div", { className: "mt-10", children: activeTopItem.items.map((_) => (_jsx(HeaderItem, { className: "mr-8", active: _ === activeSubItem, ...useLink(context, _) }, _.href))) }))] }));
|
|
11
12
|
});
|
|
13
|
+
const isURL = (href) => href?.includes('//');
|
|
14
|
+
const withoutQuery = (href) => (href || '').replace(/\/?\?.+/, '');
|
|
15
|
+
function isTopItemActive({ href, pathname }) {
|
|
16
|
+
return (item) => {
|
|
17
|
+
const itemHref = withoutQuery(item.href);
|
|
18
|
+
if (isURL(itemHref)) {
|
|
19
|
+
return Boolean(href && href.startsWith(itemHref));
|
|
20
|
+
}
|
|
21
|
+
return Boolean(item.href && pathname.startsWith(itemHref));
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
function isSubItemActive({ href, pathname }) {
|
|
25
|
+
return (item) => {
|
|
26
|
+
return withoutQuery(item.href) === (isURL(item.href) ? withoutQuery(href) : pathname);
|
|
27
|
+
};
|
|
28
|
+
}
|
|
12
29
|
//# sourceMappingURL=Header.js.map
|
package/lib/Header.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Header.js","sourceRoot":"","sources":["../src/Header.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"Header.js","sourceRoot":"","sources":["../src/Header.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiBpC,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAc,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC1E,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAEnC,MAAM,aAAa,GAAG,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9D,MAAM,aAAa,GAAG,aAAa,EAAE,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1E,OAAO,CACL,eAAK,SAAS,EAAE,qDAAqD,SAAS,IAAI,EAAE,EAAE,aACpF,eAAK,SAAS,EAAC,mBAAmB,aAChC,KAAC,IAAI,IAAC,SAAS,EAAC,MAAM,GAAG,EACxB,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACpB,KAAC,OAAO,IAAc,MAAM,EAAE,CAAC,KAAK,aAAa,KAAM,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,IAA5D,CAAC,CAAC,IAAI,CAA0D,CAC/E,CAAC,IACE,EACL,aAAa,EAAE,KAAK,IAAI,CACvB,cAAK,SAAS,EAAC,OAAO,YACnB,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAC9B,KAAC,UAAU,IAET,SAAS,EAAC,MAAM,EAChB,MAAM,EAAE,CAAC,KAAK,aAAa,KACvB,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,IAHlB,CAAC,CAAC,IAAI,CAIX,CACH,CAAC,GACE,CACP,IACG,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,KAAK,GAAG,CAAC,IAAa,EAAE,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEtD,MAAM,YAAY,GAAG,CAAC,IAAa,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AAE5E,SAAS,eAAe,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAU;IACjD,OAAO,CAAC,IAAI,EAAE,EAAE;QACd,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE;YACnB,OAAO,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;SACnD;QACD,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7D,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAU;IACjD,OAAO,CAAC,IAAI,EAAE,EAAE;QACd,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACxF,CAAC,CAAC;AACJ,CAAC"}
|
package/lib/ProductBlock.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import type { ContentPageContext } from './ContentPageContext';
|
|
1
2
|
import { Icons } from './Icons';
|
|
2
3
|
import { Picture } from './types';
|
|
3
|
-
import {
|
|
4
|
+
import type { LinkContent } from './ui-kit/Link';
|
|
4
5
|
export interface Benefit {
|
|
5
6
|
label: string;
|
|
6
7
|
description?: string;
|
|
@@ -8,12 +9,14 @@ export interface Benefit {
|
|
|
8
9
|
}
|
|
9
10
|
export interface ProductBlockContent {
|
|
10
11
|
title?: string;
|
|
11
|
-
description?: string
|
|
12
|
+
description?: string;
|
|
12
13
|
image?: Picture;
|
|
13
14
|
benefits?: Benefit[];
|
|
14
|
-
|
|
15
|
+
items?: string[];
|
|
16
|
+
button?: LinkContent;
|
|
15
17
|
}
|
|
16
18
|
export interface ProductBlockProps extends ProductBlockContent {
|
|
17
19
|
className?: string;
|
|
20
|
+
context: ContentPageContext;
|
|
18
21
|
}
|
|
19
22
|
export declare const ProductBlock: (props: import("@redneckz/uni-jsx").PropsWithChildren<ProductBlockProps, any>, context?: any) => any;
|
package/lib/ProductBlock.js
CHANGED
|
@@ -2,10 +2,12 @@ import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
|
|
|
2
2
|
import { JSX } from '@redneckz/uni-jsx';
|
|
3
3
|
import { Icons } from './Icons.js';
|
|
4
4
|
import { Img } from './Img.js';
|
|
5
|
+
import { BlockItem } from './ui-kit/BlockItem.js';
|
|
5
6
|
import { PrimaryButton } from './ui-kit/PrimaryButton.js';
|
|
7
|
+
import { useLink } from './useLink.js';
|
|
6
8
|
export const ProductBlock = JSX((props) => {
|
|
7
|
-
const { className, title, description, benefits, button, image } = props;
|
|
8
|
-
return (_jsxs("section", { className: `font-sans bg-white rounded-[40px] h-[470px] flex relative overflow-hidden ${className}`, children: [_jsxs("div", { className: ['flex', 'flex-col', 'p-11', image && 'pr-0'].filter(Boolean).join(' '), children: [title && _jsx("h1", { className: "font-medium text-title2 m-0 mb-4 whitespace-pre-wrap", children: title }), description && (_jsx("div", { className: "font-normal text-base text-second-primary mb-7", children: description })), benefits && _jsx("div", { className: "flex gap-6", children: benefits.map(renderBenefit) }), button && button.text && (_jsx("div", { className: "mt-auto", children: _jsx(PrimaryButton, { ...button }) }))] }), image && _jsx("div", { className: "h-full flex", children: _jsx(Img, { image: image, className: "flex" }) })] }));
|
|
9
|
+
const { className, context, title, description, benefits, button, image, items } = props;
|
|
10
|
+
return (_jsxs("section", { className: `font-sans bg-white rounded-[40px] h-[470px] flex justify-between relative overflow-hidden ${className}`, children: [_jsxs("div", { className: ['flex', 'flex-col', 'p-11', image && 'pr-0'].filter(Boolean).join(' '), children: [title && _jsx("h1", { className: "font-medium text-title2 m-0 mb-4 whitespace-pre-wrap", children: title }), description && (_jsx("div", { className: "font-normal text-base text-second-primary mb-7", children: description })), benefits && benefits.length && (_jsx("div", { className: "flex gap-6", children: benefits.map(renderBenefit) })), items && items.length && (_jsx("section", { className: "flex flex-col", role: "list", children: items?.map((_) => (_jsx(BlockItem, { className: "mt-6", text: _ }, _))) })), button && button.text && (_jsx("div", { className: "mt-auto", children: _jsx(PrimaryButton, { ...useLink(context, button) }) }))] }), image && _jsx("div", { className: "h-full flex", children: _jsx(Img, { image: image, className: "flex" }) })] }));
|
|
9
11
|
});
|
|
10
12
|
function renderBenefit(benefit, index) {
|
|
11
13
|
return (_jsxs("div", { className: "flex gap-4 items-center", children: [benefit.icon && (_jsx("div", { className: "h-11 w-11 min-w-11 min-h-11 bg-second-light rounded-full p-[10px] box-border", children: Icons[benefit.icon] })), _jsxs("div", { className: "flex gap-1 flex-col", children: [_jsx("h4", { className: "font-medium text-xl m-0", children: benefit.label }), benefit.description && (_jsx("div", { className: "font-normal text-sm text-second-primary", children: benefit.description }))] })] }, index));
|
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;
|
|
1
|
+
{"version":3,"file":"ProductBlock.js","sourceRoot":"","sources":["../src/ProductBlock.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAExC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5B,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoBpC,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAoB,CAAC,KAAK,EAAE,EAAE;IAC3D,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IAEzF,OAAO,CACL,mBACE,SAAS,EAAE,6FAA6F,SAAS,EAAE,aAEnH,eAAK,SAAS,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,aACpF,KAAK,IAAI,aAAI,SAAS,EAAC,sDAAsD,YAAE,KAAK,GAAM,EAC1F,WAAW,IAAI,CACd,cAAK,SAAS,EAAC,gDAAgD,YAAE,WAAW,GAAO,CACpF,EACA,QAAQ,IAAI,QAAQ,CAAC,MAAM,IAAI,CAC9B,cAAK,SAAS,EAAC,YAAY,YAAE,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,GAAO,CAChE,EACA,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,CACxB,kBAAS,SAAS,EAAC,eAAe,EAAC,IAAI,EAAC,MAAM,YAC3C,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACjB,KAAC,SAAS,IAAS,SAAS,EAAC,MAAM,EAAC,IAAI,EAAE,CAAC,IAA3B,CAAC,CAA8B,CAChD,CAAC,GACM,CACX,EACA,MAAM,IAAI,MAAM,CAAC,IAAI,IAAI,CACxB,cAAK,SAAS,EAAC,SAAS,YACtB,KAAC,aAAa,OAAK,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,GAAI,GAC3C,CACP,IACG,EACL,KAAK,IAAI,cAAK,SAAS,EAAC,aAAa,YAAE,KAAC,GAAG,IAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAC,MAAM,GAAG,GAAO,IAC7E,CACX,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,SAAS,aAAa,CAAC,OAAO,EAAE,KAAK;IACnC,OAAO,CACL,eAAiB,SAAS,EAAC,yBAAyB,aACjD,OAAO,CAAC,IAAI,IAAI,CACf,cAAK,SAAS,EAAC,8EAA8E,YAC1F,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAChB,CACP,EACD,eAAK,SAAS,EAAC,qBAAqB,aAClC,aAAI,SAAS,EAAC,yBAAyB,YAAE,OAAO,CAAC,KAAK,GAAM,EAC3D,OAAO,CAAC,WAAW,IAAI,CACtB,cAAK,SAAS,EAAC,yCAAyC,YAAE,OAAO,CAAC,WAAW,GAAO,CACrF,IACG,KAXE,KAAK,CAYT,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ContentPageContext } from './ContentPageContext';
|
|
2
|
+
import type { LinkContent } from './ui-kit/Link';
|
|
2
3
|
export interface ProductColumnBlockContent {
|
|
3
4
|
title?: string;
|
|
4
5
|
items?: string[];
|
|
5
|
-
button?:
|
|
6
|
+
button?: LinkContent;
|
|
6
7
|
promo?: boolean;
|
|
7
8
|
}
|
|
8
9
|
export interface ProductColumnBlockProps extends ProductColumnBlockContent {
|
|
9
10
|
className?: string;
|
|
11
|
+
context: ContentPageContext;
|
|
10
12
|
}
|
|
11
13
|
export declare const ProductColumnBlock: (props: import("@redneckz/uni-jsx").PropsWithChildren<ProductColumnBlockProps, any>, context?: any) => any;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
|
|
2
2
|
import { JSX } from '@redneckz/uni-jsx';
|
|
3
|
-
import { PrimaryButton } from './ui-kit/PrimaryButton.js';
|
|
4
3
|
import { BlockItem } from './ui-kit/BlockItem.js';
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
import { PrimaryButton } from './ui-kit/PrimaryButton.js';
|
|
5
|
+
import { useLink } from './useLink.js';
|
|
6
|
+
export const ProductColumnBlock = JSX(({ className, context, title, items, button, promo }) => {
|
|
7
|
+
return (_jsxs("div", { className: `relative p-8 bg-white text-black font-sans rounded-[40px] ${className || ''}`, children: [_jsx("p", { className: "text-title font-medium m-0", children: title }), items && items.length && (_jsx("section", { className: "flex flex-col", role: "list", children: items?.map((_) => (_jsx(BlockItem, { className: "mt-6", text: _ }, _))) })), button && button.text && _jsx(PrimaryButton, { className: "mt-12", ...useLink(context, button) }), promo && (_jsx("div", { className: "absolute right-0 bottom-0 bg-promo font-normal px-12 py-3 text-xl rounded-tl-[74px] rounded-br-[40px]", children: "\u0410\u043A\u0446\u0438\u044F" }))] }));
|
|
7
8
|
});
|
|
8
9
|
//# sourceMappingURL=ProductColumnBlock.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductColumnBlock.js","sourceRoot":"","sources":["../src/ProductColumnBlock.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"ProductColumnBlock.js","sourceRoot":"","sources":["../src/ProductColumnBlock.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAcpC,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CACnC,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;IACtD,OAAO,CACL,eACE,SAAS,EAAE,6DAA6D,SAAS,IAAI,EAAE,EAAE,aAEzF,YAAG,SAAS,EAAC,4BAA4B,YAAE,KAAK,GAAK,EACpD,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,CACxB,kBAAS,SAAS,EAAC,eAAe,EAAC,IAAI,EAAC,MAAM,YAC3C,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACjB,KAAC,SAAS,IAAS,SAAS,EAAC,MAAM,EAAC,IAAI,EAAE,CAAC,IAA3B,CAAC,CAA8B,CAChD,CAAC,GACM,CACX,EACA,MAAM,IAAI,MAAM,CAAC,IAAI,IAAI,KAAC,aAAa,IAAC,SAAS,EAAC,OAAO,KAAK,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,GAAI,EAC1F,KAAK,IAAI,CACR,cAAK,SAAS,EAAC,uGAAuG,+CAEhH,CACP,IACG,CACP,CAAC;AACJ,CAAC,CACF,CAAC"}
|
package/lib/common.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.absolute{position:absolute}.relative{position:relative}.top-4{top:1rem}.right-4{right:1rem}.right-0{right:0}.bottom-0{bottom:0}.col-auto{grid-column:auto}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-4{grid-column:span 4/span 4}.col-span-5{grid-column:span 5/span 5}.col-span-6{grid-column:span 6/span 6}.col-span-7{grid-column:span 7/span 7}.col-span-8{grid-column:span 8/span 8}.col-span-9{grid-column:span 9/span 9}.col-span-10{grid-column:span 10/span 10}.col-span-11{grid-column:span 11/span 11}.col-span-12{grid-column:span 12/span 12}.col-span-full{grid-column:1/-1}.col-start-1{grid-column-start:1}.col-start-2{grid-column-start:2}.col-start-3{grid-column-start:3}.col-start-4{grid-column-start:4}.col-start-5{grid-column-start:5}.col-start-6{grid-column-start:6}.col-start-7{grid-column-start:7}.col-start-8{grid-column-start:8}.col-start-9{grid-column-start:9}.col-start-10{grid-column-start:10}.col-start-11{grid-column-start:11}.col-start-12{grid-column-start:12}.col-start-13{grid-column-start:13}.col-start-auto{grid-column-start:auto}.col-end-1{grid-column-end:1}.col-end-2{grid-column-end:2}.col-end-3{grid-column-end:3}.col-end-4{grid-column-end:4}.col-end-5{grid-column-end:5}.col-end-6{grid-column-end:6}.col-end-7{grid-column-end:7}.col-end-8{grid-column-end:8}.col-end-9{grid-column-end:9}.col-end-10{grid-column-end:10}.col-end-11{grid-column-end:11}.col-end-12{grid-column-end:12}.col-end-13{grid-column-end:13}.col-end-auto{grid-column-end:auto}.m-0{margin:0}.mx-3{margin-left:.75rem;margin-right:.75rem}.mr-8{margin-right:2rem}.mt-10{margin-top:2.5rem}.mb-4{margin-bottom:1rem}.mb-7{margin-bottom:1.75rem}.mt-
|
|
1
|
+
.absolute{position:absolute}.relative{position:relative}.top-4{top:1rem}.right-4{right:1rem}.right-0{right:0}.bottom-0{bottom:0}.col-auto{grid-column:auto}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-4{grid-column:span 4/span 4}.col-span-5{grid-column:span 5/span 5}.col-span-6{grid-column:span 6/span 6}.col-span-7{grid-column:span 7/span 7}.col-span-8{grid-column:span 8/span 8}.col-span-9{grid-column:span 9/span 9}.col-span-10{grid-column:span 10/span 10}.col-span-11{grid-column:span 11/span 11}.col-span-12{grid-column:span 12/span 12}.col-span-full{grid-column:1/-1}.col-start-1{grid-column-start:1}.col-start-2{grid-column-start:2}.col-start-3{grid-column-start:3}.col-start-4{grid-column-start:4}.col-start-5{grid-column-start:5}.col-start-6{grid-column-start:6}.col-start-7{grid-column-start:7}.col-start-8{grid-column-start:8}.col-start-9{grid-column-start:9}.col-start-10{grid-column-start:10}.col-start-11{grid-column-start:11}.col-start-12{grid-column-start:12}.col-start-13{grid-column-start:13}.col-start-auto{grid-column-start:auto}.col-end-1{grid-column-end:1}.col-end-2{grid-column-end:2}.col-end-3{grid-column-end:3}.col-end-4{grid-column-end:4}.col-end-5{grid-column-end:5}.col-end-6{grid-column-end:6}.col-end-7{grid-column-end:7}.col-end-8{grid-column-end:8}.col-end-9{grid-column-end:9}.col-end-10{grid-column-end:10}.col-end-11{grid-column-end:11}.col-end-12{grid-column-end:12}.col-end-13{grid-column-end:13}.col-end-auto{grid-column-end:auto}.m-0{margin:0}.mx-3{margin-left:.75rem;margin-right:.75rem}.mr-8{margin-right:2rem}.mt-10{margin-top:2.5rem}.mb-4{margin-bottom:1rem}.mb-7{margin-bottom:1.75rem}.mt-6{margin-top:1.5rem}.mt-auto{margin-top:auto}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.ml-2\.5{margin-left:.625rem}.ml-2{margin-left:.5rem}.box-border{box-sizing:border-box}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.h-8{height:2rem}.h-\[470px\]{height:470px}.h-full{height:100%}.h-11{height:2.75rem}.h-\[2px\]{height:2px}.min-h-11{min-height:2.75rem}.w-full{width:100%}.w-8{width:2rem}.w-11{width:2.75rem}.w-10{width:2.5rem}.min-w-11{min-width:2.75rem}.min-w-\[7px\]{min-width:7px}.cursor-col-resize{cursor:col-resize}.resize{resize:both}.grid-flow-col-dense{grid-auto-flow:column dense}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-4{gap:1rem}.gap-1{gap:.25rem}.overflow-hidden{overflow:hidden}.whitespace-pre-wrap{white-space:pre-wrap}.rounded-full{border-radius:9999px}.rounded-\[40px\]{border-radius:40px}.rounded-3xl{border-radius:1.5rem}.rounded-bl-3xl{border-bottom-left-radius:1.5rem}.rounded-br-3xl{border-bottom-right-radius:1.5rem}.rounded-tl-\[74px\]{border-top-left-radius:74px}.rounded-br-\[40px\]{border-bottom-right-radius:40px}.border{border-width:1px}.border-0{border-width:0}.border-b-2{border-bottom-width:2px}.border-solid{border-style:solid}.border-transparent{border-color:transparent}.border-brand{--tw-border-opacity:1;border-color:rgb(66 171 68/var(--tw-border-opacity))}.border-b-brand{--tw-border-opacity:1;border-bottom-color:rgb(66 171 68/var(--tw-border-opacity))}.bg-second-light{--tw-bg-opacity:1;background-color:rgb(245 247 249/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-white{background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-promo,.bg-white{--tw-bg-opacity:1}.bg-promo{background-color:rgb(247 248 197/var(--tw-bg-opacity))}.bg-brand{--tw-bg-opacity:1;background-color:rgb(66 171 68/var(--tw-bg-opacity))}.p-20{padding:5rem}.p-11{padding:2.75rem}.p-\[10px\]{padding:10px}.p-8{padding:2rem}.py-8{padding-bottom:2rem;padding-top:2rem}.px-20{padding-left:5rem;padding-right:5rem}.px-12{padding-left:3rem;padding-right:3rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.px-9{padding-left:2.25rem;padding-right:2.25rem}.py-3\.5{padding-bottom:.875rem;padding-top:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.pt-0{padding-top:0}.pr-0{padding-right:0}.text-center{text-align:center}.font-sans{font-family:Ubuntu,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.text-title2{font-size:2.5rem;line-height:3rem}.text-base{font-size:1rem;line-height:1.5rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-title{font-size:2rem;line-height:2.5rem}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-bold{font-weight:700}.leading-snug{line-height:1.375}.text-second-primary{--tw-text-opacity:1;color:rgb(125 126 127/var(--tw-text-opacity))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity))}.text-brand{color:rgb(66 171 68/var(--tw-text-opacity))}.text-brand,.text-white{--tw-text-opacity:1}.text-white{color:rgb(255 255 255/var(--tw-text-opacity))}.no-underline{-webkit-text-decoration-line:none;text-decoration-line:none}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.hover\:text-brand:hover{--tw-text-opacity:1;color:rgb(66 171 68/var(--tw-text-opacity))}
|
package/lib/ui-kit/Button.d.ts
CHANGED
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
href?: string;
|
|
4
|
-
target?: '_blank' | '_self' | '_parent' | '_top' | string;
|
|
5
|
-
}
|
|
6
|
-
export interface ButtonProps extends ButtonContent {
|
|
1
|
+
import type { LinkContent } from './Link';
|
|
2
|
+
export interface ButtonProps extends LinkContent {
|
|
7
3
|
className?: string;
|
|
8
|
-
onClick?: () => any;
|
|
4
|
+
onClick?: (ev: MouseEvent) => any;
|
|
9
5
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Link.js","sourceRoot":"","sources":["../../src/ui-kit/Link.ts"],"names":[],"mappings":""}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
1
|
+
import type { LinkContent } from './Link';
|
|
2
|
+
import type { ButtonProps } from './Button';
|
|
3
|
+
export declare type PrimaryButtonContent = LinkContent;
|
|
3
4
|
export declare type PrimaryButtonProps = ButtonProps;
|
|
4
5
|
export declare const PrimaryButton: (props: import("@redneckz/uni-jsx").PropsWithChildren<ButtonProps, any>, context?: any) => any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PrimaryButton.js","sourceRoot":"","sources":["../../src/ui-kit/PrimaryButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"PrimaryButton.js","sourceRoot":"","sources":["../../src/ui-kit/PrimaryButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAOxC,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAC9B,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;IACvD,OAAO,CACL,YACE,SAAS,EAAE,oFACT,SAAS,IAAI,EACf,EAAE,EACF,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,YAEhB,eAAM,SAAS,EAAC,gCAAgC,YAAE,IAAI,IAAI,QAAQ,GAAQ,GACxE,CACL,CAAC;AACJ,CAAC,CACF,CAAC"}
|
package/lib/ui-kit/TopItem.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export interface TopItemContent extends
|
|
1
|
+
import type { LinkContent } from './Link';
|
|
2
|
+
export interface TopItemContent extends LinkContent {
|
|
3
3
|
active?: boolean;
|
|
4
4
|
}
|
|
5
5
|
export interface TopItemProps extends TopItemContent {
|
|
6
6
|
className?: string;
|
|
7
|
-
onClick?: () => any;
|
|
7
|
+
onClick?: (ev: MouseEvent) => any;
|
|
8
8
|
}
|
|
9
9
|
export declare const TopItem: (props: import("@redneckz/uni-jsx").PropsWithChildren<TopItemProps, any>, context?: any) => any;
|
package/lib/useLink.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ContentPageContext } from './ContentPageContext';
|
|
2
|
+
import type { LinkContent } from './ui-kit/Link';
|
|
3
|
+
export declare function useLink({ useRouter, handlerDecorator }: ContentPageContext, link: Partial<LinkContent>): {
|
|
4
|
+
onClick: (ev: MouseEvent) => void;
|
|
5
|
+
text?: string | undefined;
|
|
6
|
+
href?: string | undefined;
|
|
7
|
+
target?: string | undefined;
|
|
8
|
+
};
|
package/lib/useLink.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
const defaultHandlerDecorator = (_) => _;
|
|
2
|
+
export function useLink({ useRouter, handlerDecorator = defaultHandlerDecorator }, link) {
|
|
3
|
+
const router = useRouter();
|
|
4
|
+
const { href, target } = link;
|
|
5
|
+
return {
|
|
6
|
+
...link,
|
|
7
|
+
onClick: handlerDecorator((ev) => {
|
|
8
|
+
const isLocalHref = href && !href.includes('//');
|
|
9
|
+
const isLocalTarget = !target || target === '_self';
|
|
10
|
+
if (isLocalHref && isLocalTarget) {
|
|
11
|
+
ev.preventDefault();
|
|
12
|
+
router.push(href);
|
|
13
|
+
}
|
|
14
|
+
}),
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=useLink.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLink.js","sourceRoot":"","sources":["../src/useLink.ts"],"names":[],"mappings":"AAGA,MAAM,uBAAuB,GAAoC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAE1E,MAAM,UAAU,OAAO,CACrB,EAAE,SAAS,EAAE,gBAAgB,GAAG,uBAAuB,EAAsB,EAC7E,IAA0B;IAE1B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC9B,OAAO;QACL,GAAG,IAAI;QACP,OAAO,EAAE,gBAAgB,CAAC,CAAC,EAAc,EAAE,EAAE;YAC3C,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,MAAM,aAAa,GAAG,CAAC,MAAM,IAAI,MAAM,KAAK,OAAO,CAAC;YACpD,IAAI,WAAW,IAAI,aAAa,EAAE;gBAChC,EAAE,CAAC,cAAc,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACnB;QACH,CAAC,CAAC;KACH,CAAC;AACJ,CAAC"}
|