@redneckz/wildless-cms-uni-blocks 0.2.19 → 0.2.22
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/index.d.ts +1 -0
- package/dist/index.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/index.d.ts +1 -0
- package/lib/index.js.map +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 | string[] | undefined>;
|
|
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/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export type { BlockDef, ContentPageMeta, ContentPageDef, Img, ImgSource, Picture } from './types';
|
|
2
|
+
export type { ContentPageContext, Router } from './ContentPageContext';
|
|
2
3
|
export { Blocks } from './Blocks';
|
|
3
4
|
export { ContentPageHead } from './ContentPageHead';
|
|
4
5
|
export { ContentPage } from './ContentPage';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAGA,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AAEf,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AACxB,6CAA4C;AAAnC,0GAAA,WAAW,OAAA"}
|
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 | string[] | undefined>;
|
|
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-0{top:0}.top-1{top:.25rem}.top-2{top:.5rem}.top-3{top:.75rem}.top-4{top:1rem}.top-5{top:1.25rem}.top-6{top:1.5rem}.top-7{top:1.75rem}.top-8{top:2rem}.top-9{top:2.25rem}.top-10{top:2.5rem}.top-11{top:2.75rem}.top-12{top:3rem}.top-14{top:3.5rem}.top-16{top:4rem}.top-20{top:5rem}.top-24{top:6rem}.top-28{top:7rem}.top-32{top:8rem}.top-36{top:9rem}.top-40{top:10rem}.top-44{top:11rem}.top-48{top:12rem}.top-52{top:13rem}.top-56{top:14rem}.top-60{top:15rem}.top-64{top:16rem}.top-72{top:18rem}.top-80{top:20rem}.top-96{top:24rem}.top-auto{top:auto}.top-px{top:1px}.top-0\.5{top:.125rem}.top-1\.5{top:.375rem}.top-2\.5{top:.625rem}.top-3\.5{top:.875rem}.top-1\/2{top:50%}.top-1\/3{top:33.333333%}.top-2\/3{top:66.666667%}.top-1\/4{top:25%}.top-2\/4{top:50%}.top-3\/4{top:75%}.top-full{top:100%}.-top-0{top:0}.-top-1{top:-.25rem}.-top-2{top:-.5rem}.-top-3{top:-.75rem}.-top-4{top:-1rem}.-top-5{top:-1.25rem}.-top-6{top:-1.5rem}.-top-7{top:-1.75rem}.-top-8{top:-2rem}.-top-9{top:-2.25rem}.-top-10{top:-2.5rem}.-top-11{top:-2.75rem}.-top-12{top:-3rem}.-top-14{top:-3.5rem}.-top-16{top:-4rem}.-top-20{top:-5rem}.-top-24{top:-6rem}.-top-28{top:-7rem}.-top-32{top:-8rem}.-top-36{top:-9rem}.-top-40{top:-10rem}.-top-44{top:-11rem}.-top-48{top:-12rem}.-top-52{top:-13rem}.-top-56{top:-14rem}.-top-60{top:-15rem}.-top-64{top:-16rem}.-top-72{top:-18rem}.-top-80{top:-20rem}.-top-96{top:-24rem}.-top-px{top:-1px}.-top-0\.5{top:-.125rem}.-top-1\.5{top:-.375rem}.-top-2\.5{top:-.625rem}.-top-3\.5{top:-.875rem}.-top-1\/2{top:-50%}.-top-1\/3{top:-33.333333%}.-top-2\/3{top:-66.666667%}.-top-1\/4{top:-25%}.-top-2\/4{top:-50%}.-top-3\/4{top:-75%}.-top-full{top:-100%}.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-auto{margin-top:auto}.mt-6{margin-top:1.5rem}.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-\[1280px\]{width:1280px}.w-11{width:2.75rem}.w-10{width:2.5rem}.min-w-11{min-width:2.75rem}.min-w-\[7px\]{min-width:7px}.origin-top-right{transform-origin:top right}.origin-top-left{transform-origin:top left}.cursor-col-resize{cursor:col-resize}.resize{resize:both}.snap-none{-ms-scroll-snap-type:none;scroll-snap-type:none}.snap-x{-ms-scroll-snap-type:x var(--tw-scroll-snap-strictness);scroll-snap-type:x var(--tw-scroll-snap-strictness)}.snap-y{-ms-scroll-snap-type:y var(--tw-scroll-snap-strictness);scroll-snap-type:y var(--tw-scroll-snap-strictness)}.snap-both{-ms-scroll-snap-type:both var(--tw-scroll-snap-strictness);scroll-snap-type:both var(--tw-scroll-snap-strictness)}.snap-mandatory{--tw-scroll-snap-strictness:mandatory}.snap-proximity{--tw-scroll-snap-strictness:proximity}.snap-start{scroll-snap-align:start}.snap-end{scroll-snap-align:end}.snap-center{scroll-snap-align:center}.snap-align-none{scroll-snap-align:none}.snap-normal{scroll-snap-stop:normal}.snap-always{scroll-snap-stop:always}.scroll-p-0{scroll-padding:0}.scroll-p-1{scroll-padding:.25rem}.scroll-p-2{scroll-padding:.5rem}.scroll-p-3{scroll-padding:.75rem}.scroll-p-4{scroll-padding:1rem}.scroll-p-5{scroll-padding:1.25rem}.scroll-p-6{scroll-padding:1.5rem}.scroll-p-7{scroll-padding:1.75rem}.scroll-p-8{scroll-padding:2rem}.scroll-p-9{scroll-padding:2.25rem}.scroll-p-10{scroll-padding:2.5rem}.scroll-p-11{scroll-padding:2.75rem}.scroll-p-12{scroll-padding:3rem}.scroll-p-14{scroll-padding:3.5rem}.scroll-p-16{scroll-padding:4rem}.scroll-p-20{scroll-padding:5rem}.scroll-p-24{scroll-padding:6rem}.scroll-p-28{scroll-padding:7rem}.scroll-p-32{scroll-padding:8rem}.scroll-p-36{scroll-padding:9rem}.scroll-p-40{scroll-padding:10rem}.scroll-p-44{scroll-padding:11rem}.scroll-p-48{scroll-padding:12rem}.scroll-p-52{scroll-padding:13rem}.scroll-p-56{scroll-padding:14rem}.scroll-p-60{scroll-padding:15rem}.scroll-p-64{scroll-padding:16rem}.scroll-p-72{scroll-padding:18rem}.scroll-p-80{scroll-padding:20rem}.scroll-p-96{scroll-padding:24rem}.scroll-p-px{scroll-padding:1px}.scroll-p-0\.5{scroll-padding:.125rem}.scroll-p-1\.5{scroll-padding:.375rem}.scroll-p-2\.5{scroll-padding:.625rem}.scroll-p-3\.5{scroll-padding:.875rem}.scroll-pt-0{scroll-padding-top:0}.scroll-pt-1{scroll-padding-top:.25rem}.scroll-pt-2{scroll-padding-top:.5rem}.scroll-pt-3{scroll-padding-top:.75rem}.scroll-pt-4{scroll-padding-top:1rem}.scroll-pt-5{scroll-padding-top:1.25rem}.scroll-pt-6{scroll-padding-top:1.5rem}.scroll-pt-7{scroll-padding-top:1.75rem}.scroll-pt-8{scroll-padding-top:2rem}.scroll-pt-9{scroll-padding-top:2.25rem}.scroll-pt-10{scroll-padding-top:2.5rem}.scroll-pt-11{scroll-padding-top:2.75rem}.scroll-pt-12{scroll-padding-top:3rem}.scroll-pt-14{scroll-padding-top:3.5rem}.scroll-pt-16{scroll-padding-top:4rem}.scroll-pt-20{scroll-padding-top:5rem}.scroll-pt-24{scroll-padding-top:6rem}.scroll-pt-28{scroll-padding-top:7rem}.scroll-pt-32{scroll-padding-top:8rem}.scroll-pt-36{scroll-padding-top:9rem}.scroll-pt-40{scroll-padding-top:10rem}.scroll-pt-44{scroll-padding-top:11rem}.scroll-pt-48{scroll-padding-top:12rem}.scroll-pt-52{scroll-padding-top:13rem}.scroll-pt-56{scroll-padding-top:14rem}.scroll-pt-60{scroll-padding-top:15rem}.scroll-pt-64{scroll-padding-top:16rem}.scroll-pt-72{scroll-padding-top:18rem}.scroll-pt-80{scroll-padding-top:20rem}.scroll-pt-96{scroll-padding-top:24rem}.scroll-pt-px{scroll-padding-top:1px}.scroll-pt-0\.5{scroll-padding-top:.125rem}.scroll-pt-1\.5{scroll-padding-top:.375rem}.scroll-pt-2\.5{scroll-padding-top:.625rem}.scroll-pt-3\.5{scroll-padding-top:.875rem}.grid-flow-row{grid-auto-flow:row}.grid-flow-col{grid-auto-flow:column}.grid-flow-row-dense{grid-auto-flow:row dense}.grid-flow-col-dense{grid-auto-flow:column dense}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-cols-none{grid-template-columns:none}.grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.grid-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}.grid-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}.grid-rows-5{grid-template-rows:repeat(5,minmax(0,1fr))}.grid-rows-6{grid-template-rows:repeat(6,minmax(0,1fr))}.grid-rows-none{grid-template-rows:none}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap-reverse{flex-wrap:wrap-reverse}.items-center{align-items:center}.items-stretch{align-items:stretch}.gap-0{gap:0}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-7{gap:1.75rem}.gap-8{gap:2rem}.gap-9{gap:2.25rem}.gap-10{gap:2.5rem}.gap-11{gap:2.75rem}.gap-12{gap:3rem}.gap-14{gap:3.5rem}.gap-16{gap:4rem}.gap-20{gap:5rem}.gap-24{gap:6rem}.gap-28{gap:7rem}.gap-32{gap:8rem}.gap-36{gap:9rem}.gap-40{gap:10rem}.gap-44{gap:11rem}.gap-48{gap:12rem}.gap-52{gap:13rem}.gap-56{gap:14rem}.gap-60{gap:15rem}.gap-64{gap:16rem}.gap-72{gap:18rem}.gap-80{gap:20rem}.gap-96{gap:24rem}.gap-px{gap:1px}.gap-0\.5{gap:.125rem}.gap-1\.5{gap:.375rem}.gap-2\.5{gap:.625rem}.gap-3\.5{gap:.875rem}.gap-x-0{-moz-column-gap:0;column-gap:0}.gap-x-1{-moz-column-gap:.25rem;column-gap:.25rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-x-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-x-7{-moz-column-gap:1.75rem;column-gap:1.75rem}.gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.gap-x-9{-moz-column-gap:2.25rem;column-gap:2.25rem}.gap-x-10{-moz-column-gap:2.5rem;column-gap:2.5rem}.gap-x-11{-moz-column-gap:2.75rem;column-gap:2.75rem}.gap-x-12{-moz-column-gap:3rem;column-gap:3rem}.gap-x-14{-moz-column-gap:3.5rem;column-gap:3.5rem}.gap-x-16{-moz-column-gap:4rem;column-gap:4rem}.gap-x-20{-moz-column-gap:5rem;column-gap:5rem}.gap-x-24{-moz-column-gap:6rem;column-gap:6rem}.gap-x-28{-moz-column-gap:7rem;column-gap:7rem}.gap-x-32{-moz-column-gap:8rem;column-gap:8rem}.gap-x-36{-moz-column-gap:9rem;column-gap:9rem}.gap-x-40{-moz-column-gap:10rem;column-gap:10rem}.gap-x-44{-moz-column-gap:11rem;column-gap:11rem}.gap-x-48{-moz-column-gap:12rem;column-gap:12rem}.gap-x-52{-moz-column-gap:13rem;column-gap:13rem}.gap-x-56{-moz-column-gap:14rem;column-gap:14rem}.gap-x-60{-moz-column-gap:15rem;column-gap:15rem}.gap-x-64{-moz-column-gap:16rem;column-gap:16rem}.gap-x-72{-moz-column-gap:18rem;column-gap:18rem}.gap-x-80{-moz-column-gap:20rem;column-gap:20rem}.gap-x-96{-moz-column-gap:24rem;column-gap:24rem}.gap-x-px{-moz-column-gap:1px;column-gap:1px}.gap-x-0\.5{-moz-column-gap:.125rem;column-gap:.125rem}.gap-x-1\.5{-moz-column-gap:.375rem;column-gap:.375rem}.gap-x-2\.5{-moz-column-gap:.625rem;column-gap:.625rem}.gap-x-3\.5{-moz-column-gap:.875rem;column-gap:.875rem}.gap-y-0{row-gap:0}.gap-y-1{row-gap:.25rem}.gap-y-2{row-gap:.5rem}.gap-y-3{row-gap:.75rem}.gap-y-4{row-gap:1rem}.gap-y-5{row-gap:1.25rem}.gap-y-6{row-gap:1.5rem}.gap-y-7{row-gap:1.75rem}.gap-y-8{row-gap:2rem}.gap-y-9{row-gap:2.25rem}.gap-y-10{row-gap:2.5rem}.gap-y-11{row-gap:2.75rem}.gap-y-12{row-gap:3rem}.gap-y-14{row-gap:3.5rem}.gap-y-16{row-gap:4rem}.gap-y-20{row-gap:5rem}.gap-y-24{row-gap:6rem}.gap-y-28{row-gap:7rem}.gap-y-32{row-gap:8rem}.gap-y-36{row-gap:9rem}.gap-y-40{row-gap:10rem}.gap-y-44{row-gap:11rem}.gap-y-48{row-gap:12rem}.gap-y-52{row-gap:13rem}.gap-y-56{row-gap:14rem}.gap-y-60{row-gap:15rem}.gap-y-64{row-gap:16rem}.gap-y-72{row-gap:18rem}.gap-y-80{row-gap:20rem}.gap-y-96{row-gap:24rem}.gap-y-px{row-gap:1px}.gap-y-0\.5{row-gap:.125rem}.gap-y-1\.5{row-gap:.375rem}.gap-y-2\.5{row-gap:.625rem}.gap-y-3\.5{row-gap:.875rem}.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))}.bg-clip-border{background-clip:border-box}.bg-clip-padding{background-clip:padding-box}.bg-clip-content{background-clip:content-box}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-7{padding:1.75rem}.p-8{padding:2rem}.p-9{padding:2.25rem}.p-10{padding:2.5rem}.p-11{padding:2.75rem}.p-12{padding:3rem}.p-14{padding:3.5rem}.p-16{padding:4rem}.p-20{padding:5rem}.p-24{padding:6rem}.p-28{padding:7rem}.p-32{padding:8rem}.p-36{padding:9rem}.p-40{padding:10rem}.p-44{padding:11rem}.p-48{padding:12rem}.p-52{padding:13rem}.p-56{padding:14rem}.p-60{padding:15rem}.p-64{padding:16rem}.p-72{padding:18rem}.p-80{padding:20rem}.p-96{padding:24rem}.p-px{padding:1px}.p-0\.5{padding:.125rem}.p-1\.5{padding:.375rem}.p-2\.5{padding:.625rem}.p-3\.5{padding:.875rem}.p-\[10px\]{padding:10px}.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}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.pt-7{padding-top:1.75rem}.pt-8{padding-top:2rem}.pt-9{padding-top:2.25rem}.pt-10{padding-top:2.5rem}.pt-11{padding-top:2.75rem}.pt-12{padding-top:3rem}.pt-14{padding-top:3.5rem}.pt-16{padding-top:4rem}.pt-20{padding-top:5rem}.pt-24{padding-top:6rem}.pt-28{padding-top:7rem}.pt-32{padding-top:8rem}.pt-36{padding-top:9rem}.pt-40{padding-top:10rem}.pt-44{padding-top:11rem}.pt-48{padding-top:12rem}.pt-52{padding-top:13rem}.pt-56{padding-top:14rem}.pt-60{padding-top:15rem}.pt-64{padding-top:16rem}.pt-72{padding-top:18rem}.pt-80{padding-top:20rem}.pt-96{padding-top:24rem}.pt-px{padding-top:1px}.pt-0\.5{padding-top:.125rem}.pt-1\.5{padding-top:.375rem}.pt-2\.5{padding-top:.625rem}.pt-3\.5{padding-top:.875rem}.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}.drop-shadow-sm{--tw-drop-shadow:drop-shadow(0 1px 1px rgba(0,0,0,.05))}.drop-shadow,.drop-shadow-sm{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)}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0,0,0,.1)) drop-shadow(0 1px 1px rgba(0,0,0,.06))}.drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px rgba(0,0,0,.07)) drop-shadow(0 2px 2px rgba(0,0,0,.06))}.drop-shadow-lg,.drop-shadow-md{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)}.drop-shadow-lg{--tw-drop-shadow:drop-shadow(0 10px 8px rgba(0,0,0,.04)) drop-shadow(0 4px 3px rgba(0,0,0,.1))}.drop-shadow-xl{--tw-drop-shadow:drop-shadow(0 20px 13px rgba(0,0,0,.03)) drop-shadow(0 8px 5px rgba(0,0,0,.08))}.drop-shadow-2xl,.drop-shadow-xl{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)}.drop-shadow-2xl{--tw-drop-shadow:drop-shadow(0 25px 25px rgba(0,0,0,.15))}.drop-shadow-none{--tw-drop-shadow:drop-shadow(0 0 #0000)}.drop-shadow-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)}.backdrop-blur-0,.backdrop-blur-none{--tw-backdrop-blur:blur(0)}.backdrop-blur-0,.backdrop-blur-none,.backdrop-blur-sm{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.backdrop-blur{--tw-backdrop-blur:blur(8px)}.backdrop-blur,.backdrop-blur-md{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.backdrop-blur-lg{--tw-backdrop-blur:blur(16px)}.backdrop-blur-lg,.backdrop-blur-xl{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-xl{--tw-backdrop-blur:blur(24px)}.backdrop-blur-2xl{--tw-backdrop-blur:blur(40px)}.backdrop-blur-2xl,.backdrop-blur-3xl{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-3xl{--tw-backdrop-blur:blur(64px)}.backdrop-brightness-0{--tw-backdrop-brightness:brightness(0)}.backdrop-brightness-0,.backdrop-brightness-50{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-brightness-50{--tw-backdrop-brightness:brightness(.5)}.backdrop-brightness-75{--tw-backdrop-brightness:brightness(.75)}.backdrop-brightness-75,.backdrop-brightness-90{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-brightness-90{--tw-backdrop-brightness:brightness(.9)}.backdrop-brightness-95{--tw-backdrop-brightness:brightness(.95)}.backdrop-brightness-100,.backdrop-brightness-95{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-brightness-100{--tw-backdrop-brightness:brightness(1)}.backdrop-brightness-105{--tw-backdrop-brightness:brightness(1.05)}.backdrop-brightness-105,.backdrop-brightness-110{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-brightness-110{--tw-backdrop-brightness:brightness(1.1)}.backdrop-brightness-125{--tw-backdrop-brightness:brightness(1.25)}.backdrop-brightness-125,.backdrop-brightness-150{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-brightness-150{--tw-backdrop-brightness:brightness(1.5)}.backdrop-brightness-200{--tw-backdrop-brightness:brightness(2)}.backdrop-brightness-200,.backdrop-contrast-0{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-contrast-0{--tw-backdrop-contrast:contrast(0)}.backdrop-contrast-50{--tw-backdrop-contrast:contrast(.5)}.backdrop-contrast-50,.backdrop-contrast-75{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-contrast-75{--tw-backdrop-contrast:contrast(.75)}.backdrop-contrast-100{--tw-backdrop-contrast:contrast(1)}.backdrop-contrast-100,.backdrop-contrast-125{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-contrast-125{--tw-backdrop-contrast:contrast(1.25)}.backdrop-contrast-150{--tw-backdrop-contrast:contrast(1.5)}.backdrop-contrast-150,.backdrop-contrast-200{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-contrast-200{--tw-backdrop-contrast:contrast(2)}.backdrop-grayscale-0{--tw-backdrop-grayscale:grayscale(0)}.backdrop-grayscale,.backdrop-grayscale-0{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%)}.backdrop-hue-rotate-0{--tw-backdrop-hue-rotate:hue-rotate(0deg)}.backdrop-hue-rotate-0,.backdrop-hue-rotate-15{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-hue-rotate-15{--tw-backdrop-hue-rotate:hue-rotate(15deg)}.backdrop-hue-rotate-30{--tw-backdrop-hue-rotate:hue-rotate(30deg)}.backdrop-hue-rotate-30,.backdrop-hue-rotate-60{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-hue-rotate-60{--tw-backdrop-hue-rotate:hue-rotate(60deg)}.backdrop-hue-rotate-90{--tw-backdrop-hue-rotate:hue-rotate(90deg)}.backdrop-hue-rotate-180,.backdrop-hue-rotate-90{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-hue-rotate-180{--tw-backdrop-hue-rotate:hue-rotate(180deg)}.-backdrop-hue-rotate-0{--tw-backdrop-hue-rotate:hue-rotate(-0deg)}.-backdrop-hue-rotate-0,.-backdrop-hue-rotate-15{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.-backdrop-hue-rotate-15{--tw-backdrop-hue-rotate:hue-rotate(-15deg)}.-backdrop-hue-rotate-30{--tw-backdrop-hue-rotate:hue-rotate(-30deg)}.-backdrop-hue-rotate-30,.-backdrop-hue-rotate-60{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.-backdrop-hue-rotate-60{--tw-backdrop-hue-rotate:hue-rotate(-60deg)}.-backdrop-hue-rotate-90{--tw-backdrop-hue-rotate:hue-rotate(-90deg)}.-backdrop-hue-rotate-180,.-backdrop-hue-rotate-90{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.-backdrop-hue-rotate-180{--tw-backdrop-hue-rotate:hue-rotate(-180deg)}.backdrop-invert-0{--tw-backdrop-invert:invert(0)}.backdrop-invert,.backdrop-invert-0{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-invert{--tw-backdrop-invert:invert(100%)}.backdrop-opacity-0{--tw-backdrop-opacity:opacity(0)}.backdrop-opacity-0,.backdrop-opacity-5{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-opacity-5{--tw-backdrop-opacity:opacity(0.05)}.backdrop-opacity-10{--tw-backdrop-opacity:opacity(0.1)}.backdrop-opacity-10,.backdrop-opacity-20{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-opacity-20{--tw-backdrop-opacity:opacity(0.2)}.backdrop-opacity-25{--tw-backdrop-opacity:opacity(0.25)}.backdrop-opacity-25,.backdrop-opacity-30{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-opacity-30{--tw-backdrop-opacity:opacity(0.3)}.backdrop-opacity-40{--tw-backdrop-opacity:opacity(0.4)}.backdrop-opacity-40,.backdrop-opacity-50{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-opacity-50{--tw-backdrop-opacity:opacity(0.5)}.backdrop-opacity-60{--tw-backdrop-opacity:opacity(0.6)}.backdrop-opacity-60,.backdrop-opacity-70{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-opacity-70{--tw-backdrop-opacity:opacity(0.7)}.backdrop-opacity-75{--tw-backdrop-opacity:opacity(0.75)}.backdrop-opacity-75,.backdrop-opacity-80{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-opacity-80{--tw-backdrop-opacity:opacity(0.8)}.backdrop-opacity-90{--tw-backdrop-opacity:opacity(0.9)}.backdrop-opacity-90,.backdrop-opacity-95{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-opacity-95{--tw-backdrop-opacity:opacity(0.95)}.backdrop-opacity-100{--tw-backdrop-opacity:opacity(1)}.backdrop-opacity-100,.backdrop-saturate-0{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-saturate-0{--tw-backdrop-saturate:saturate(0)}.backdrop-saturate-50{--tw-backdrop-saturate:saturate(.5)}.backdrop-saturate-100,.backdrop-saturate-50{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-saturate-100{--tw-backdrop-saturate:saturate(1)}.backdrop-saturate-150{--tw-backdrop-saturate:saturate(1.5)}.backdrop-saturate-150,.backdrop-saturate-200{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-saturate-200{--tw-backdrop-saturate:saturate(2)}.backdrop-sepia-0{--tw-backdrop-sepia:sepia(0)}.backdrop-sepia,.backdrop-sepia-0{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-sepia{--tw-backdrop-sepia:sepia(100%)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-filter-none{-webkit-backdrop-filter:none;backdrop-filter:none}.hover\:text-brand:hover{--tw-text-opacity:1;color:rgb(66 171 68/var(--tw-text-opacity))}
|
|
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/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export type { BlockDef, ContentPageMeta, ContentPageDef, Img, ImgSource, Picture } from './types';
|
|
2
|
+
export type { ContentPageContext, Router } from './ContentPageContext';
|
|
2
3
|
export { Blocks } from './Blocks';
|
|
3
4
|
export { ContentPageHead } from './ContentPageHead';
|
|
4
5
|
export { ContentPage } from './ContentPage';
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
|
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"}
|