@redneckz/wildless-cms-uni-blocks 0.2.38 → 0.2.41
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/Blocks.d.ts +1 -0
- package/dist/Blocks.js +2 -0
- package/dist/Blocks.js.map +1 -1
- package/dist/ContentPageContext.d.ts +2 -1
- package/dist/Img.js +1 -1
- package/dist/Img.js.map +1 -1
- package/dist/ProductBlockInner.js +2 -2
- package/dist/ProductBlockInner.js.map +1 -1
- package/dist/ProductGallery.d.ts +20 -0
- package/dist/ProductGallery.js +29 -0
- package/dist/ProductGallery.js.map +1 -0
- package/dist/Tile.js +11 -1
- package/dist/Tile.js.map +1 -1
- package/dist/types.d.ts +2 -1
- package/dist/ui-kit/BlockItem.js +1 -1
- package/dist/ui-kit/BlockItem.js.map +1 -1
- package/dist/useLink.js +1 -1
- package/dist/useLink.js.map +1 -1
- package/lib/Blocks.d.ts +1 -0
- package/lib/Blocks.js +2 -0
- package/lib/Blocks.js.map +1 -1
- package/lib/ContentPageContext.d.ts +2 -1
- package/lib/Img.js +1 -1
- package/lib/Img.js.map +1 -1
- package/lib/ProductBlockInner.js +2 -2
- package/lib/ProductBlockInner.js.map +1 -1
- package/lib/ProductGallery.d.ts +20 -0
- package/lib/ProductGallery.js +27 -0
- package/lib/ProductGallery.js.map +1 -0
- package/lib/Tile.js +11 -1
- package/lib/Tile.js.map +1 -1
- package/lib/common.css +1 -1
- package/lib/types.d.ts +2 -1
- package/lib/ui-kit/BlockItem.js +1 -1
- package/lib/ui-kit/BlockItem.js.map +1 -1
- package/lib/useLink.js +1 -1
- package/lib/useLink.js.map +1 -1
- package/package.json +1 -1
package/dist/Blocks.d.ts
CHANGED
|
@@ -5,4 +5,5 @@ export declare const Blocks: {
|
|
|
5
5
|
ProductBlock: (props: import("@redneckz/uni-jsx").PropsWithChildren<import("./ProductBlock").ProductBlockProps, any>, context?: any) => any;
|
|
6
6
|
StepsBlock: (props: import("@redneckz/uni-jsx").PropsWithChildren<import("./StepsBlock").StepsBlockProps, any>, context?: any) => any;
|
|
7
7
|
BenefitsBlock: (props: import("@redneckz/uni-jsx").PropsWithChildren<import("./BenefitsBlock").BenefitsBlockProps, any>, context?: any) => any;
|
|
8
|
+
ProductGallery: (props: import("@redneckz/uni-jsx").PropsWithChildren<import("./ProductGallery").ProductGalleryProps, any>, context?: any) => any;
|
|
8
9
|
};
|
package/dist/Blocks.js
CHANGED
|
@@ -6,6 +6,7 @@ const Tile_1 = require("./Tile");
|
|
|
6
6
|
const ProductBlock_1 = require("./ProductBlock");
|
|
7
7
|
const StepsBlock_1 = require("./StepsBlock");
|
|
8
8
|
const BenefitsBlock_1 = require("./BenefitsBlock");
|
|
9
|
+
const ProductGallery_1 = require("./ProductGallery");
|
|
9
10
|
exports.Blocks = {
|
|
10
11
|
Header: index_1.Header,
|
|
11
12
|
Placeholder: Placeholder_1.Placeholder,
|
|
@@ -13,5 +14,6 @@ exports.Blocks = {
|
|
|
13
14
|
ProductBlock: ProductBlock_1.ProductBlock,
|
|
14
15
|
StepsBlock: StepsBlock_1.StepsBlock,
|
|
15
16
|
BenefitsBlock: BenefitsBlock_1.BenefitsBlock,
|
|
17
|
+
ProductGallery: ProductGallery_1.ProductGallery,
|
|
16
18
|
};
|
|
17
19
|
//# sourceMappingURL=Blocks.js.map
|
package/dist/Blocks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Blocks.js","sourceRoot":"","sources":["../src/Blocks.ts"],"names":[],"mappings":";;AAAA,0CAAwC;AACxC,+CAA4C;AAC5C,iCAA8B;AAC9B,iDAA8C;AAC9C,6CAA0C;AAC1C,mDAAgD;
|
|
1
|
+
{"version":3,"file":"Blocks.js","sourceRoot":"","sources":["../src/Blocks.ts"],"names":[],"mappings":";;AAAA,0CAAwC;AACxC,+CAA4C;AAC5C,iCAA8B;AAC9B,iDAA8C;AAC9C,6CAA0C;AAC1C,mDAAgD;AAChD,qDAAkD;AAErC,QAAA,MAAM,GAAG;IACpB,MAAM,EAAN,cAAM;IACN,WAAW,EAAX,yBAAW;IACX,IAAI,EAAJ,WAAI;IACJ,YAAY,EAAZ,2BAAY;IACZ,UAAU,EAAV,uBAAU;IACV,aAAa,EAAb,6BAAa;IACb,cAAc,EAAd,+BAAc;CACf,CAAC"}
|
|
@@ -11,9 +11,10 @@ export interface LikeService {
|
|
|
11
11
|
like: () => void;
|
|
12
12
|
dislike: () => void;
|
|
13
13
|
}
|
|
14
|
-
export declare type HandlerDecorator = <F extends Function>(handler: F) => F;
|
|
14
|
+
export declare type HandlerDecorator = <F extends Function>(handler: F, targetContent: any) => F;
|
|
15
15
|
export interface ContentPageContext {
|
|
16
16
|
useRouter: () => Router;
|
|
17
|
+
useState: <T>(initialState: T) => [T, (_: T) => void];
|
|
17
18
|
useSitemap: () => HeaderContent;
|
|
18
19
|
useLikeService: () => LikeService;
|
|
19
20
|
handlerDecorator?: HandlerDecorator;
|
package/dist/Img.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
|
exports.Img = (0, uni_jsx_1.JSX)(({ className, image }) => ((0, jsx_runtime_1.jsxs)("picture", { className: `${className || ''}`, children: [image.sources?.length
|
|
6
6
|
? image.sources.map(({ src, format }, index) => ((0, jsx_runtime_1.jsx)("source", { srcSet: src, type: formatToMimeType(format) }, `${index}_${src}`)))
|
|
7
|
-
: null, (0, jsx_runtime_1.jsx)("img", { src: image.src, alt: image.alt, title: image.title, ...image?.size
|
|
7
|
+
: null, (0, jsx_runtime_1.jsx)("img", { src: image.src, alt: image.alt, title: image.title, ...image?.size })] })));
|
|
8
8
|
function formatToMimeType(format) {
|
|
9
9
|
return format ? `image/${String(format)}` : undefined;
|
|
10
10
|
}
|
package/dist/Img.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Img.js","sourceRoot":"","sources":["../src/Img.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AAQ3B,QAAA,GAAG,GAAG,IAAA,aAAG,EAAqB,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CACnE,qCAAS,SAAS,EAAE,GAAG,SAAS,IAAI,EAAE,EAAE,aACrC,KAAK,CAAC,OAAO,EAAE,MAAM;YACpB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAC5C,mCAAgC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC,IAA9D,GAAG,KAAK,IAAI,GAAG,EAAE,CAAiD,CAChF,CAAC;YACJ,CAAC,CAAC,IAAI,EACR,
|
|
1
|
+
{"version":3,"file":"Img.js","sourceRoot":"","sources":["../src/Img.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AAQ3B,QAAA,GAAG,GAAG,IAAA,aAAG,EAAqB,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CACnE,qCAAS,SAAS,EAAE,GAAG,SAAS,IAAI,EAAE,EAAE,aACrC,KAAK,CAAC,OAAO,EAAE,MAAM;YACpB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAC5C,mCAAgC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC,IAA9D,GAAG,KAAK,IAAI,GAAG,EAAE,CAAiD,CAChF,CAAC;YACJ,CAAC,CAAC,IAAI,EACR,gCAAK,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,KAAM,KAAK,EAAE,IAAI,GAAI,IACpE,CACX,CAAC,CAAC;AAEH,SAAgB,gBAAgB,CAAC,MAA2B;IAC1D,OAAO,MAAM,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACxD,CAAC;AAFD,4CAEC"}
|
|
@@ -34,10 +34,10 @@ const useLink_1 = require("./useLink");
|
|
|
34
34
|
exports.ProductBlockInner = (0, uni_jsx_1.JSX)(({ context, title, description, breadcrumbs, benefits, buttons, image, items }) => {
|
|
35
35
|
const router = context.useRouter();
|
|
36
36
|
const { handlerDecorator } = context;
|
|
37
|
-
return ((0, jsx_runtime_1.jsxs)("div", { className: "font-sans flex justify-between items-stretch", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col", children: [breadcrumbs?.length ? ((0, jsx_runtime_1.jsx)("div", { className: "text-xs mb-6", children: join((0, jsx_runtime_1.jsx)("span", { className: "text-secondary mx-2", children: "/" }))(breadcrumbs.map((breadcrumb, i) => ((0, jsx_runtime_1.jsx)(Breadcrumb_1.Breadcrumb, { ...(0, useLink_1.useLink)({ router, handlerDecorator }, { className: 'text-secondary', ...breadcrumb }) }, String(i))))) })) : null, title && (0, jsx_runtime_1.jsx)("h1", { className: "font-medium text-title m-0 whitespace-pre-wrap", children: title }), description && ((0, jsx_runtime_1.jsx)("div", { className: "font-normal text-base max-w-[600px] mt-4", children: description })), benefits?.length ? ((0, jsx_runtime_1.jsx)("div", { className: "flex gap-6 mt-7", children: benefits.map(renderBenefit) })) : null, items?.length ? ((0, jsx_runtime_1.jsx)("section", { className: "space-y-2.5 mt-5", role: "list", children: items.map((_, i) => ((0, jsx_runtime_1.jsx)(BlockItem_1.BlockItem, { text: _ }, String(i)))) })) : null, buttons?.length ? ((0, jsx_runtime_1.jsx)("div", { className: "flex mt-auto gap-4", children: buttons.map((button, index) => renderButton((0, useLink_1.useLink)({ router, handlerDecorator }, button), index)) })) : null] }), image && (0, jsx_runtime_1.jsx)(Img_1.Img, { image: image, className: "mt-auto" })] }));
|
|
37
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: "font-sans flex justify-between items-stretch", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col", children: [breadcrumbs?.length ? ((0, jsx_runtime_1.jsx)("div", { className: "text-xs mb-6", children: join((0, jsx_runtime_1.jsx)("span", { className: "text-secondary-text mx-2", children: "/" }))(breadcrumbs.map((breadcrumb, i) => ((0, jsx_runtime_1.jsx)(Breadcrumb_1.Breadcrumb, { ...(0, useLink_1.useLink)({ router, handlerDecorator }, { className: 'text-secondary-text', ...breadcrumb }) }, String(i))))) })) : null, title && ((0, jsx_runtime_1.jsx)("h1", { className: "font-medium text-title-lg m-0 whitespace-pre-wrap max-w-[600px]", children: title })), description && ((0, jsx_runtime_1.jsx)("div", { className: "font-normal text-base max-w-[600px] mt-4", children: description })), benefits?.length ? ((0, jsx_runtime_1.jsx)("div", { className: "flex gap-6 mt-7", children: benefits.map(renderBenefit) })) : null, items?.length ? ((0, jsx_runtime_1.jsx)("section", { className: "space-y-2.5 mt-5", role: "list", children: items.map((_, i) => ((0, jsx_runtime_1.jsx)(BlockItem_1.BlockItem, { text: _ }, String(i)))) })) : null, buttons?.length ? ((0, jsx_runtime_1.jsx)("div", { className: "flex mt-auto gap-4", children: buttons.map((button, index) => renderButton((0, useLink_1.useLink)({ router, handlerDecorator }, button), index)) })) : null] }), image?.src && (0, jsx_runtime_1.jsx)(Img_1.Img, { image: image, className: "mt-auto" })] }));
|
|
38
38
|
});
|
|
39
39
|
function renderBenefit(benefit, i) {
|
|
40
|
-
return ((0, jsx_runtime_1.jsxs)("div", { className: "flex gap-4 items-center", children: [benefit.icon && ((0, jsx_runtime_1.jsx)("div", { className: "
|
|
40
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: "flex gap-4 items-center", children: [benefit.icon && ((0, jsx_runtime_1.jsx)("div", { className: "w-[50px] h-[50px] min-w-[50px] min-h-[50px] bg-main rounded-full p-[10px] box-border", children: Icons[benefit.icon]() })), (0, jsx_runtime_1.jsxs)("div", { className: "flex gap-1 flex-col h-full", children: [(0, jsx_runtime_1.jsx)("h4", { className: "font-medium text-xl m-0", children: benefit.label }), benefit.description && ((0, jsx_runtime_1.jsx)("div", { className: "font-normal text-sm text-secondary-text", children: benefit.description }))] })] }, String(i)));
|
|
41
41
|
}
|
|
42
42
|
function renderButton(button, i) {
|
|
43
43
|
return button?.text ? ((0, jsx_runtime_1.jsx)(Button_1.Button, { ...button, className: "mt-8", version: button.version }, String(i))) : null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductBlockInner.js","sourceRoot":"","sources":["../src/ProductBlockInner.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAwC;AAExC,qDAAuC;AACvC,+BAA4B;AAE5B,kDAA+C;AAE/C,4CAAyC;AACzC,oDAAkE;AAClE,uCAAoC;AAsBvB,QAAA,iBAAiB,GAAG,IAAA,aAAG,EAClC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;IAChF,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IACnC,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC;IAErC,OAAO,CACL,iCAAK,SAAS,EAAC,8CAA8C,aAC3D,iCAAK,SAAS,EAAC,eAAe,aAC3B,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CACrB,gCAAK,SAAS,EAAC,cAAc,YAC1B,IAAI,CAAC,iCAAM,SAAS,EAAC,
|
|
1
|
+
{"version":3,"file":"ProductBlockInner.js","sourceRoot":"","sources":["../src/ProductBlockInner.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ContentPageContext } from './ContentPageContext';
|
|
2
|
+
import { ProductBlockInnerContent } from './ProductBlockInner';
|
|
3
|
+
interface ProductGalleryNav {
|
|
4
|
+
title: string;
|
|
5
|
+
desc: string;
|
|
6
|
+
}
|
|
7
|
+
export interface ProductSlideContent {
|
|
8
|
+
nav: ProductGalleryNav;
|
|
9
|
+
productBlock: ProductBlockInnerContent;
|
|
10
|
+
}
|
|
11
|
+
export interface ProductGalleryContent {
|
|
12
|
+
duration?: number;
|
|
13
|
+
slides?: ProductSlideContent[];
|
|
14
|
+
}
|
|
15
|
+
export interface ProductGalleryProps extends ProductGalleryContent {
|
|
16
|
+
className?: string;
|
|
17
|
+
context: ContentPageContext;
|
|
18
|
+
}
|
|
19
|
+
export declare const ProductGallery: (props: import("@redneckz/uni-jsx").PropsWithChildren<ProductGalleryProps, any>, context?: any) => any;
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
|
+
exports.ProductGallery = void 0;
|
|
3
|
+
const jsx_runtime_1 = require("@redneckz/uni-jsx/jsx-runtime");
|
|
4
|
+
const uni_jsx_1 = require("@redneckz/uni-jsx");
|
|
5
|
+
const ProductBlockInner_1 = require("./ProductBlockInner");
|
|
6
|
+
exports.ProductGallery = (0, uni_jsx_1.JSX)(({ className, context, duration = 0, slides = [] }) => {
|
|
7
|
+
if (slides?.length) {
|
|
8
|
+
const galleryNav = slides.map((s) => s.nav);
|
|
9
|
+
const galleryBlocks = slides.map((s) => s.productBlock);
|
|
10
|
+
const [activeSlideIndex, setActiveSlideIndex] = context.useState(0);
|
|
11
|
+
return ((0, jsx_runtime_1.jsxs)("section", { className: `font-sans bg-white rounded-[40px] overflow-hidden w-100 ${className || ''}`, children: [(0, jsx_runtime_1.jsx)("div", { className: `flex transition duration-1000`, style: { transform: `translateX(-${activeSlideIndex}00%)` }, children: galleryBlocks.map((_, i) => renderProductBlock(_, i, context)) }), (0, jsx_runtime_1.jsx)("div", { className: `border-t border-solid border-main-divider grid grid-cols-${galleryNav.length}`, children: galleryNav.map((slide, i) => renderNavButton({
|
|
12
|
+
slide,
|
|
13
|
+
i,
|
|
14
|
+
activeSlideIndex,
|
|
15
|
+
onClick: () => setActiveSlideIndex(i),
|
|
16
|
+
duration,
|
|
17
|
+
})) })] }));
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
function renderProductBlock(block, i, context) {
|
|
21
|
+
return ((0, jsx_runtime_1.jsx)("section", { className: "grow-0 shrink-0 basis-full", role: "list", children: (0, jsx_runtime_1.jsx)("div", { className: "p-11 pr-[7.5rem] ", children: (0, jsx_runtime_1.jsx)(ProductBlockInner_1.ProductBlockInner, { context: context, ...block }) }) }, String(i)));
|
|
22
|
+
}
|
|
23
|
+
function renderNavButton({ slide, i, activeSlideIndex, onClick, duration }) {
|
|
24
|
+
const isActiveBtn = i === activeSlideIndex;
|
|
25
|
+
const progressBarClassName = isActiveBtn ? 'animate-slide' : '';
|
|
26
|
+
const btnTitleClassName = isActiveBtn ? 'text-primary-text' : 'text-secondary-text';
|
|
27
|
+
return ((0, jsx_runtime_1.jsxs)("button", { type: "button", onClick: onClick, className: `group relative overflow-hidden border-0 bg-inherit cursor-pointer text-left px-0 py-4`, children: [(0, jsx_runtime_1.jsxs)("div", { className: "border-0 border-r border-solid border-main-divider px-6", children: [(0, jsx_runtime_1.jsx)("div", { className: `text-sm font-medium group-hover:text-primary-text ${btnTitleClassName}`, children: slide.title }), (0, jsx_runtime_1.jsx)("div", { className: "text-xs text-secondary-text", children: slide.desc })] }), (0, jsx_runtime_1.jsx)("div", { className: `absolute bottom-0 left-0 w-full h-[3px] bg-primary-main -translate-x-full ${progressBarClassName}`, style: { animationDuration: `${duration}s` } })] }, String(i)));
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=ProductGallery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProductGallery.js","sourceRoot":"","sources":["../src/ProductGallery.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AAExC,2DAAkF;AAsBrE,QAAA,cAAc,GAAG,IAAA,aAAG,EAC/B,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,GAAG,CAAC,EAAE,MAAM,GAAG,EAAE,EAAE,EAAE,EAAE;IACpD,IAAI,MAAM,EAAE,MAAM,EAAE;QAClB,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC5C,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QACxD,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAEpE,OAAO,CACL,qCACE,SAAS,EAAE,2DAA2D,SAAS,IAAI,EAAE,EAAE,aAEvF,gCACE,SAAS,EAAE,+BAA+B,EAC1C,KAAK,EAAE,EAAE,SAAS,EAAE,eAAe,gBAAgB,MAAM,EAAE,YAE1D,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,GAC3D,EAEN,gCACE,SAAS,EAAE,4DAA4D,UAAU,CAAC,MAAM,EAAE,YAEzF,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAC3B,eAAe,CAAC;wBACd,KAAK;wBACL,CAAC;wBACD,gBAAgB;wBAChB,OAAO,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;wBACrC,QAAQ;qBACT,CAAC,CACH,GACG,IACE,CACX,CAAC;KACH;AACH,CAAC,CACF,CAAC;AAEF,SAAS,kBAAkB,CAAC,KAA+B,EAAE,CAAS,EAAE,OAAO;IAC7E,OAAO,CACL,oCAAyB,SAAS,EAAC,4BAA4B,EAAC,IAAI,EAAC,MAAM,YACzE,gCAAK,SAAS,EAAC,mBAAmB,YAChC,uBAAC,qCAAiB,IAAC,OAAO,EAAE,OAAO,KAAM,KAAK,GAAI,GAC9C,IAHM,MAAM,CAAC,CAAC,CAAC,CAIb,CACX,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,gBAAgB,EAAE,OAAO,EAAE,QAAQ,EAAE;IACxE,MAAM,WAAW,GAAG,CAAC,KAAK,gBAAgB,CAAC;IAC3C,MAAM,oBAAoB,GAAG,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,MAAM,iBAAiB,GAAG,WAAW,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,qBAAqB,CAAC;IACpF,OAAO,CACL,oCACE,IAAI,EAAC,QAAQ,EAEb,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,uFAAuF,aAElG,iCAAK,SAAS,EAAC,yDAAyD,aACtE,gCAAK,SAAS,EAAE,qDAAqD,iBAAiB,EAAE,YACrF,KAAK,CAAC,KAAK,GACR,EACN,gCAAK,SAAS,EAAC,6BAA6B,YAAE,KAAK,CAAC,IAAI,GAAO,IAC3D,EACN,gCACE,SAAS,EAAE,6EAA6E,oBAAoB,EAAE,EAC9G,KAAK,EAAE,EAAE,iBAAiB,EAAE,GAAG,QAAQ,GAAG,EAAE,GACvC,KAbF,MAAM,CAAC,CAAC,CAAC,CAcP,CACV,CAAC;AACJ,CAAC"}
|
package/dist/Tile.js
CHANGED
|
@@ -10,9 +10,19 @@ const tileStyleMap = {
|
|
|
10
10
|
primary: 'bg-white text-primary-text',
|
|
11
11
|
secondary: 'bg-primary-main text-white',
|
|
12
12
|
};
|
|
13
|
+
const TITLE_CLASSES = 'font-medium m-0 whitespace-pre-wrap max-w-[600px]';
|
|
13
14
|
exports.Tile = (0, uni_jsx_1.JSX)(({ className, context, title, description, button, image, items, version = 'primary' }) => {
|
|
14
15
|
const router = context.useRouter();
|
|
15
16
|
const { handlerDecorator } = context;
|
|
16
|
-
return ((0, jsx_runtime_1.jsx)("section", { className: `font-sans p-9 rounded-[40px] flex justify-between items-stretch relative ${className || ''} ${tileStyleMap[version]}`, children: (0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col w-full", children: [title && (
|
|
17
|
+
return ((0, jsx_runtime_1.jsx)("section", { className: `font-sans p-9 rounded-[40px] flex justify-between items-stretch relative ${className || ''} ${tileStyleMap[version]}`, children: (0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col w-full", children: [title && renderTitle(title, className), (0, jsx_runtime_1.jsxs)("div", { className: "flex justify-between h-full", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col", children: [description && ((0, jsx_runtime_1.jsx)("div", { className: "font-normal text-base max-w-[600px] mt-4", children: description })), items?.length ? ((0, jsx_runtime_1.jsx)("section", { className: "space-y-2.5 mt-5 max-w-[600px]", role: "list", children: items.map((_, i) => ((0, jsx_runtime_1.jsx)(BlockItem_1.BlockItem, { text: _, version: version }, String(i)))) })) : null, button?.text && ((0, jsx_runtime_1.jsx)("div", { className: "mt-auto", children: (0, jsx_runtime_1.jsx)(Button_1.Button, { className: "mt-8", ...(0, useLink_1.useLink)({ router, handlerDecorator }, button), version: "secondary" }) }))] }), image?.src && ((0, jsx_runtime_1.jsx)("div", { className: "mt-auto flex-none h-[220px] w-[220px]", children: (0, jsx_runtime_1.jsx)(Img_1.Img, { image: image }) }))] })] }) }));
|
|
17
18
|
});
|
|
19
|
+
const renderTitle = (title, className = '') => {
|
|
20
|
+
if (className.includes('col-span-4')) {
|
|
21
|
+
return (0, jsx_runtime_1.jsx)("h3", { className: `${TITLE_CLASSES} text-title-xs`, children: title });
|
|
22
|
+
}
|
|
23
|
+
if (className.includes('col-span-6') || className.includes('col-span-8')) {
|
|
24
|
+
return (0, jsx_runtime_1.jsx)("h3", { className: `${TITLE_CLASSES} text-title-sm`, children: title });
|
|
25
|
+
}
|
|
26
|
+
return (0, jsx_runtime_1.jsx)("h2", { className: `${TITLE_CLASSES} text-title`, children: title });
|
|
27
|
+
};
|
|
18
28
|
//# sourceMappingURL=Tile.js.map
|
package/dist/Tile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tile.js","sourceRoot":"","sources":["../src/Tile.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AAExC,+BAA4B;AAE5B,kDAA+C;AAE/C,4CAAyC;AACzC,uCAAoC;AAgBpC,MAAM,YAAY,GAAiC;IACjD,OAAO,EAAE,4BAA4B;IACrC,SAAS,EAAE,4BAA4B;CACxC,CAAC;
|
|
1
|
+
{"version":3,"file":"Tile.js","sourceRoot":"","sources":["../src/Tile.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AAExC,+BAA4B;AAE5B,kDAA+C;AAE/C,4CAAyC;AACzC,uCAAoC;AAgBpC,MAAM,YAAY,GAAiC;IACjD,OAAO,EAAE,4BAA4B;IACrC,SAAS,EAAE,4BAA4B;CACxC,CAAC;AAEF,MAAM,aAAa,GAAG,mDAAmD,CAAC;AAE7D,QAAA,IAAI,GAAG,IAAA,aAAG,EACrB,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,GAAG,SAAS,EAAE,EAAE,EAAE;IACxF,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IACnC,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC;IACrC,OAAO,CACL,oCACE,SAAS,EAAE,4EACT,SAAS,IAAI,EACf,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,YAE3B,iCAAK,SAAS,EAAC,sBAAsB,aAClC,KAAK,IAAI,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,EACvC,iCAAK,SAAS,EAAC,6BAA6B,aAC1C,iCAAK,SAAS,EAAC,eAAe,aAC3B,WAAW,IAAI,CACd,gCAAK,SAAS,EAAC,0CAA0C,YAAE,WAAW,GAAO,CAC9E,EACA,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CACf,oCAAS,SAAS,EAAC,gCAAgC,EAAC,IAAI,EAAC,MAAM,YAC5D,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACnB,uBAAC,qBAAS,IAAiB,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,IAApC,MAAM,CAAC,CAAC,CAAC,CAA+B,CACzD,CAAC,GACM,CACX,CAAC,CAAC,CAAC,IAAI,EACP,MAAM,EAAE,IAAI,IAAI,CACf,gCAAK,SAAS,EAAC,SAAS,YACtB,uBAAC,eAAM,IACL,SAAS,EAAC,MAAM,KACZ,IAAA,iBAAO,EAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,MAAM,CAAC,EACjD,OAAO,EAAC,WAAW,GACnB,GACE,CACP,IACG,EACL,KAAK,EAAE,GAAG,IAAI,CACb,gCAAK,SAAS,EAAC,uCAAuC,YACpD,uBAAC,SAAG,IAAC,KAAK,EAAE,KAAK,GAAI,GACjB,CACP,IACG,IACF,GACE,CACX,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,KAAa,EAAE,YAAoB,EAAE,EAAE,EAAE;IAC5D,IAAI,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;QACpC,OAAO,+BAAI,SAAS,EAAE,GAAG,aAAa,gBAAgB,YAAG,KAAK,GAAM,CAAC;KACtE;IAED,IAAI,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;QACxE,OAAO,+BAAI,SAAS,EAAE,GAAG,aAAa,gBAAgB,YAAG,KAAK,GAAM,CAAC;KACtE;IAED,OAAO,+BAAI,SAAS,EAAE,GAAG,aAAa,aAAa,YAAG,KAAK,GAAM,CAAC;AACpE,CAAC,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -5,9 +5,10 @@ import type { TileContent } from './Tile';
|
|
|
5
5
|
import type { ProductBlockInnerContent } from './ProductBlockInner';
|
|
6
6
|
import type { StepsBlockContent } from './StepsBlock';
|
|
7
7
|
import type { BenefitsBlockContent } from './BenefitsBlock';
|
|
8
|
+
import type { ProductGalleryContent } from './ProductGallery';
|
|
8
9
|
export declare type BlockVersion = 'primary' | 'secondary';
|
|
9
10
|
export declare type ColorPalette = 'pc' | 'bc' | 'eo';
|
|
10
|
-
export declare type BlockContent = HeaderContent | PlaceholderContent | ProductBlockInnerContent | TileContent | StepsBlockContent | BenefitsBlockContent;
|
|
11
|
+
export declare type BlockContent = HeaderContent | PlaceholderContent | ProductBlockInnerContent | TileContent | StepsBlockContent | BenefitsBlockContent | ProductGalleryContent;
|
|
11
12
|
export interface BlockDef {
|
|
12
13
|
type: string;
|
|
13
14
|
style?: string[];
|
package/dist/ui-kit/BlockItem.js
CHANGED
|
@@ -11,6 +11,6 @@ const textStyleMap = {
|
|
|
11
11
|
secondary: 'text-white',
|
|
12
12
|
};
|
|
13
13
|
exports.BlockItem = (0, uni_jsx_1.JSX)(({ className, text, children, version = 'primary' }) => {
|
|
14
|
-
return ((0, jsx_runtime_1.jsxs)("div", { className: `inline-block flex ${className || ''}`, role: "listitem", children: [(0, jsx_runtime_1.jsx)("div", { className: `inline-block w-[8px] h-[8px] rounded-full mt-2 ${listStyleMap[version]}` }), (0, jsx_runtime_1.jsx)("span", { className: `text-base font-normal font-sans mx-3 ${textStyleMap[version]}`, children: text || children })] }));
|
|
14
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: `inline-block flex ${className || ''}`, role: "listitem", children: [(0, jsx_runtime_1.jsx)("div", { className: `inline-block w-[8px] h-[8px] min-w-[8px] min-h-[8px] rounded-full mt-2 ${listStyleMap[version]}` }), (0, jsx_runtime_1.jsx)("span", { className: `text-base font-normal font-sans mx-3 ${textStyleMap[version]}`, children: text || children })] }));
|
|
15
15
|
});
|
|
16
16
|
//# sourceMappingURL=BlockItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlockItem.js","sourceRoot":"","sources":["../../src/ui-kit/BlockItem.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AAYxC,MAAM,YAAY,GAAqC;IACrD,OAAO,EAAE,iBAAiB;IAC1B,SAAS,EAAE,UAAU;CACtB,CAAC;AAEF,MAAM,YAAY,GAAqC;IACrD,OAAO,EAAE,mBAAmB;IAC5B,SAAS,EAAE,YAAY;CACxB,CAAC;AAEW,QAAA,SAAS,GAAG,IAAA,aAAG,EAC1B,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,GAAG,SAAS,EAAE,EAAE,EAAE;IACrD,OAAO,CACL,iCAAK,SAAS,EAAE,qBAAqB,SAAS,IAAI,EAAE,EAAE,EAAE,IAAI,EAAC,UAAU,aACrE,gCACE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"BlockItem.js","sourceRoot":"","sources":["../../src/ui-kit/BlockItem.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AAYxC,MAAM,YAAY,GAAqC;IACrD,OAAO,EAAE,iBAAiB;IAC1B,SAAS,EAAE,UAAU;CACtB,CAAC;AAEF,MAAM,YAAY,GAAqC;IACrD,OAAO,EAAE,mBAAmB;IAC5B,SAAS,EAAE,YAAY;CACxB,CAAC;AAEW,QAAA,SAAS,GAAG,IAAA,aAAG,EAC1B,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,GAAG,SAAS,EAAE,EAAE,EAAE;IACrD,OAAO,CACL,iCAAK,SAAS,EAAE,qBAAqB,SAAS,IAAI,EAAE,EAAE,EAAE,IAAI,EAAC,UAAU,aACrE,gCACE,SAAS,EAAE,0EAA0E,YAAY,CAAC,OAAO,CAAC,EAAE,GACvG,EACP,iCAAM,SAAS,EAAE,wCAAwC,YAAY,CAAC,OAAO,CAAC,EAAE,YAC7E,IAAI,IAAI,QAAQ,GACZ,IACH,CACP,CAAC;AACJ,CAAC,CACF,CAAC"}
|
package/dist/useLink.js
CHANGED
package/dist/useLink.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLink.js","sourceRoot":"","sources":["../src/useLink.ts"],"names":[],"mappings":";;AAEA,qCAAoD;AAEpD,MAAM,uBAAuB,GAAqB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAE3D,SAAgB,OAAO,CACrB,EACE,MAAM,EACN,gBAAgB,GAAG,uBAAuB,GACc,EAC1D,IAA0B;IAE1B,MAAM,IAAI,GAAG,IAAA,oBAAc,EAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACpD,OAAO;QACL,GAAG,IAAI;QACP,IAAI;QACJ,OAAO,EAAE,gBAAgB,CAAC,CAAC,EAAc,EAAE,EAAE;YAC3C,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,IAAA,WAAK,EAAC,IAAI,CAAC,CAAC;YACzC,MAAM,aAAa,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC;YAC9D,IAAI,WAAW,IAAI,aAAa,EAAE;gBAChC,EAAE,CAAC,cAAc,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACnB;QACH,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"useLink.js","sourceRoot":"","sources":["../src/useLink.ts"],"names":[],"mappings":";;AAEA,qCAAoD;AAEpD,MAAM,uBAAuB,GAAqB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAE3D,SAAgB,OAAO,CACrB,EACE,MAAM,EACN,gBAAgB,GAAG,uBAAuB,GACc,EAC1D,IAA0B;IAE1B,MAAM,IAAI,GAAG,IAAA,oBAAc,EAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACpD,OAAO;QACL,GAAG,IAAI;QACP,IAAI;QACJ,OAAO,EAAE,gBAAgB,CAAC,CAAC,EAAc,EAAE,EAAE;YAC3C,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,IAAA,WAAK,EAAC,IAAI,CAAC,CAAC;YACzC,MAAM,aAAa,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC;YAC9D,IAAI,WAAW,IAAI,aAAa,EAAE;gBAChC,EAAE,CAAC,cAAc,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACnB;QACH,CAAC,EAAE,IAAI,CAAC;KACT,CAAC;AACJ,CAAC;AApBD,0BAoBC"}
|
package/lib/Blocks.d.ts
CHANGED
|
@@ -5,4 +5,5 @@ export declare const Blocks: {
|
|
|
5
5
|
ProductBlock: (props: import("@redneckz/uni-jsx").PropsWithChildren<import("./ProductBlock").ProductBlockProps, any>, context?: any) => any;
|
|
6
6
|
StepsBlock: (props: import("@redneckz/uni-jsx").PropsWithChildren<import("./StepsBlock").StepsBlockProps, any>, context?: any) => any;
|
|
7
7
|
BenefitsBlock: (props: import("@redneckz/uni-jsx").PropsWithChildren<import("./BenefitsBlock").BenefitsBlockProps, any>, context?: any) => any;
|
|
8
|
+
ProductGallery: (props: import("@redneckz/uni-jsx").PropsWithChildren<import("./ProductGallery").ProductGalleryProps, any>, context?: any) => any;
|
|
8
9
|
};
|
package/lib/Blocks.js
CHANGED
|
@@ -4,6 +4,7 @@ import { Tile } from './Tile.js';
|
|
|
4
4
|
import { ProductBlock } from './ProductBlock.js';
|
|
5
5
|
import { StepsBlock } from './StepsBlock.js';
|
|
6
6
|
import { BenefitsBlock } from './BenefitsBlock.js';
|
|
7
|
+
import { ProductGallery } from './ProductGallery.js';
|
|
7
8
|
export const Blocks = {
|
|
8
9
|
Header,
|
|
9
10
|
Placeholder,
|
|
@@ -11,5 +12,6 @@ export const Blocks = {
|
|
|
11
12
|
ProductBlock,
|
|
12
13
|
StepsBlock,
|
|
13
14
|
BenefitsBlock,
|
|
15
|
+
ProductGallery,
|
|
14
16
|
};
|
|
15
17
|
//# sourceMappingURL=Blocks.js.map
|
package/lib/Blocks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Blocks.js","sourceRoot":"","sources":["../src/Blocks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"Blocks.js","sourceRoot":"","sources":["../src/Blocks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,MAAM;IACN,WAAW;IACX,IAAI;IACJ,YAAY;IACZ,UAAU;IACV,aAAa;IACb,cAAc;CACf,CAAC"}
|
|
@@ -11,9 +11,10 @@ export interface LikeService {
|
|
|
11
11
|
like: () => void;
|
|
12
12
|
dislike: () => void;
|
|
13
13
|
}
|
|
14
|
-
export declare type HandlerDecorator = <F extends Function>(handler: F) => F;
|
|
14
|
+
export declare type HandlerDecorator = <F extends Function>(handler: F, targetContent: any) => F;
|
|
15
15
|
export interface ContentPageContext {
|
|
16
16
|
useRouter: () => Router;
|
|
17
|
+
useState: <T>(initialState: T) => [T, (_: T) => void];
|
|
17
18
|
useSitemap: () => HeaderContent;
|
|
18
19
|
useLikeService: () => LikeService;
|
|
19
20
|
handlerDecorator?: HandlerDecorator;
|
package/lib/Img.js
CHANGED
|
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
|
|
|
2
2
|
import { JSX } from '@redneckz/uni-jsx';
|
|
3
3
|
export const Img = JSX(({ className, image }) => (_jsxs("picture", { className: `${className || ''}`, children: [image.sources?.length
|
|
4
4
|
? image.sources.map(({ src, format }, index) => (_jsx("source", { srcSet: src, type: formatToMimeType(format) }, `${index}_${src}`)))
|
|
5
|
-
: null, _jsx("img", { src: image.src, alt: image.alt, title: image.title, ...image?.size
|
|
5
|
+
: null, _jsx("img", { src: image.src, alt: image.alt, title: image.title, ...image?.size })] })));
|
|
6
6
|
export function formatToMimeType(format) {
|
|
7
7
|
return format ? `image/${String(format)}` : undefined;
|
|
8
8
|
}
|
package/lib/Img.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Img.js","sourceRoot":"","sources":["../src/Img.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAQxC,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,CAAqB,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CACnE,mBAAS,SAAS,EAAE,GAAG,SAAS,IAAI,EAAE,EAAE,aACrC,KAAK,CAAC,OAAO,EAAE,MAAM;YACpB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAC5C,iBAAgC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC,IAA9D,GAAG,KAAK,IAAI,GAAG,EAAE,CAAiD,CAChF,CAAC;YACJ,CAAC,CAAC,IAAI,EACR,
|
|
1
|
+
{"version":3,"file":"Img.js","sourceRoot":"","sources":["../src/Img.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAQxC,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,CAAqB,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CACnE,mBAAS,SAAS,EAAE,GAAG,SAAS,IAAI,EAAE,EAAE,aACrC,KAAK,CAAC,OAAO,EAAE,MAAM;YACpB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAC5C,iBAAgC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC,IAA9D,GAAG,KAAK,IAAI,GAAG,EAAE,CAAiD,CAChF,CAAC;YACJ,CAAC,CAAC,IAAI,EACR,cAAK,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,KAAM,KAAK,EAAE,IAAI,GAAI,IACpE,CACX,CAAC,CAAC;AAEH,MAAM,UAAU,gBAAgB,CAAC,MAA2B;IAC1D,OAAO,MAAM,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACxD,CAAC"}
|
package/lib/ProductBlockInner.js
CHANGED
|
@@ -9,10 +9,10 @@ import { useLink } from './useLink.js';
|
|
|
9
9
|
export const ProductBlockInner = JSX(({ context, title, description, breadcrumbs, benefits, buttons, image, items }) => {
|
|
10
10
|
const router = context.useRouter();
|
|
11
11
|
const { handlerDecorator } = context;
|
|
12
|
-
return (_jsxs("div", { className: "font-sans flex justify-between items-stretch", children: [_jsxs("div", { className: "flex flex-col", children: [breadcrumbs?.length ? (_jsx("div", { className: "text-xs mb-6", children: join(_jsx("span", { className: "text-secondary mx-2", children: "/" }))(breadcrumbs.map((breadcrumb, i) => (_jsx(Breadcrumb, { ...useLink({ router, handlerDecorator }, { className: 'text-secondary', ...breadcrumb }) }, String(i))))) })) : null, title && _jsx("h1", { className: "font-medium text-title m-0 whitespace-pre-wrap", children: title }), description && (_jsx("div", { className: "font-normal text-base max-w-[600px] mt-4", children: description })), benefits?.length ? (_jsx("div", { className: "flex gap-6 mt-7", children: benefits.map(renderBenefit) })) : null, items?.length ? (_jsx("section", { className: "space-y-2.5 mt-5", role: "list", children: items.map((_, i) => (_jsx(BlockItem, { text: _ }, String(i)))) })) : null, buttons?.length ? (_jsx("div", { className: "flex mt-auto gap-4", children: buttons.map((button, index) => renderButton(useLink({ router, handlerDecorator }, button), index)) })) : null] }), image && _jsx(Img, { image: image, className: "mt-auto" })] }));
|
|
12
|
+
return (_jsxs("div", { className: "font-sans flex justify-between items-stretch", children: [_jsxs("div", { className: "flex flex-col", children: [breadcrumbs?.length ? (_jsx("div", { className: "text-xs mb-6", children: join(_jsx("span", { className: "text-secondary-text mx-2", children: "/" }))(breadcrumbs.map((breadcrumb, i) => (_jsx(Breadcrumb, { ...useLink({ router, handlerDecorator }, { className: 'text-secondary-text', ...breadcrumb }) }, String(i))))) })) : null, title && (_jsx("h1", { className: "font-medium text-title-lg m-0 whitespace-pre-wrap max-w-[600px]", children: title })), description && (_jsx("div", { className: "font-normal text-base max-w-[600px] mt-4", children: description })), benefits?.length ? (_jsx("div", { className: "flex gap-6 mt-7", children: benefits.map(renderBenefit) })) : null, items?.length ? (_jsx("section", { className: "space-y-2.5 mt-5", role: "list", children: items.map((_, i) => (_jsx(BlockItem, { text: _ }, String(i)))) })) : null, buttons?.length ? (_jsx("div", { className: "flex mt-auto gap-4", children: buttons.map((button, index) => renderButton(useLink({ router, handlerDecorator }, button), index)) })) : null] }), image?.src && _jsx(Img, { image: image, className: "mt-auto" })] }));
|
|
13
13
|
});
|
|
14
14
|
function renderBenefit(benefit, i) {
|
|
15
|
-
return (_jsxs("div", { className: "flex gap-4 items-center", children: [benefit.icon && (_jsx("div", { className: "
|
|
15
|
+
return (_jsxs("div", { className: "flex gap-4 items-center", children: [benefit.icon && (_jsx("div", { className: "w-[50px] h-[50px] min-w-[50px] min-h-[50px] bg-main rounded-full p-[10px] box-border", children: Icons[benefit.icon]() })), _jsxs("div", { className: "flex gap-1 flex-col h-full", children: [_jsx("h4", { className: "font-medium text-xl m-0", children: benefit.label }), benefit.description && (_jsx("div", { className: "font-normal text-sm text-secondary-text", children: benefit.description }))] })] }, String(i)));
|
|
16
16
|
}
|
|
17
17
|
function renderButton(button, i) {
|
|
18
18
|
return button?.text ? (_jsx(Button, { ...button, className: "mt-8", version: button.version }, String(i))) : null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductBlockInner.js","sourceRoot":"","sources":["../src/ProductBlockInner.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAExC,OAAO,KAAK,KAAK,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5B,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,UAAU,EAAmB,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsBpC,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAClC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;IAChF,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IACnC,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC;IAErC,OAAO,CACL,eAAK,SAAS,EAAC,8CAA8C,aAC3D,eAAK,SAAS,EAAC,eAAe,aAC3B,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CACrB,cAAK,SAAS,EAAC,cAAc,YAC1B,IAAI,CAAC,eAAM,SAAS,EAAC,
|
|
1
|
+
{"version":3,"file":"ProductBlockInner.js","sourceRoot":"","sources":["../src/ProductBlockInner.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ContentPageContext } from './ContentPageContext';
|
|
2
|
+
import { ProductBlockInnerContent } from './ProductBlockInner';
|
|
3
|
+
interface ProductGalleryNav {
|
|
4
|
+
title: string;
|
|
5
|
+
desc: string;
|
|
6
|
+
}
|
|
7
|
+
export interface ProductSlideContent {
|
|
8
|
+
nav: ProductGalleryNav;
|
|
9
|
+
productBlock: ProductBlockInnerContent;
|
|
10
|
+
}
|
|
11
|
+
export interface ProductGalleryContent {
|
|
12
|
+
duration?: number;
|
|
13
|
+
slides?: ProductSlideContent[];
|
|
14
|
+
}
|
|
15
|
+
export interface ProductGalleryProps extends ProductGalleryContent {
|
|
16
|
+
className?: string;
|
|
17
|
+
context: ContentPageContext;
|
|
18
|
+
}
|
|
19
|
+
export declare const ProductGallery: (props: import("@redneckz/uni-jsx").PropsWithChildren<ProductGalleryProps, any>, context?: any) => any;
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
|
|
2
|
+
import { JSX } from '@redneckz/uni-jsx';
|
|
3
|
+
import { ProductBlockInner } from './ProductBlockInner.js';
|
|
4
|
+
export const ProductGallery = JSX(({ className, context, duration = 0, slides = [] }) => {
|
|
5
|
+
if (slides?.length) {
|
|
6
|
+
const galleryNav = slides.map((s) => s.nav);
|
|
7
|
+
const galleryBlocks = slides.map((s) => s.productBlock);
|
|
8
|
+
const [activeSlideIndex, setActiveSlideIndex] = context.useState(0);
|
|
9
|
+
return (_jsxs("section", { className: `font-sans bg-white rounded-[40px] overflow-hidden w-100 ${className || ''}`, children: [_jsx("div", { className: `flex transition duration-1000`, style: { transform: `translateX(-${activeSlideIndex}00%)` }, children: galleryBlocks.map((_, i) => renderProductBlock(_, i, context)) }), _jsx("div", { className: `border-t border-solid border-main-divider grid grid-cols-${galleryNav.length}`, children: galleryNav.map((slide, i) => renderNavButton({
|
|
10
|
+
slide,
|
|
11
|
+
i,
|
|
12
|
+
activeSlideIndex,
|
|
13
|
+
onClick: () => setActiveSlideIndex(i),
|
|
14
|
+
duration,
|
|
15
|
+
})) })] }));
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
function renderProductBlock(block, i, context) {
|
|
19
|
+
return (_jsx("section", { className: "grow-0 shrink-0 basis-full", role: "list", children: _jsx("div", { className: "p-11 pr-[7.5rem] ", children: _jsx(ProductBlockInner, { context: context, ...block }) }) }, String(i)));
|
|
20
|
+
}
|
|
21
|
+
function renderNavButton({ slide, i, activeSlideIndex, onClick, duration }) {
|
|
22
|
+
const isActiveBtn = i === activeSlideIndex;
|
|
23
|
+
const progressBarClassName = isActiveBtn ? 'animate-slide' : '';
|
|
24
|
+
const btnTitleClassName = isActiveBtn ? 'text-primary-text' : 'text-secondary-text';
|
|
25
|
+
return (_jsxs("button", { type: "button", onClick: onClick, className: `group relative overflow-hidden border-0 bg-inherit cursor-pointer text-left px-0 py-4`, children: [_jsxs("div", { className: "border-0 border-r border-solid border-main-divider px-6", children: [_jsx("div", { className: `text-sm font-medium group-hover:text-primary-text ${btnTitleClassName}`, children: slide.title }), _jsx("div", { className: "text-xs text-secondary-text", children: slide.desc })] }), _jsx("div", { className: `absolute bottom-0 left-0 w-full h-[3px] bg-primary-main -translate-x-full ${progressBarClassName}`, style: { animationDuration: `${duration}s` } })] }, String(i)));
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=ProductGallery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProductGallery.js","sourceRoot":"","sources":["../src/ProductGallery.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAExC,OAAO,EAAE,iBAAiB,EAA4B,MAAM,qBAAqB,CAAC;AAsBlF,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAC/B,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,GAAG,CAAC,EAAE,MAAM,GAAG,EAAE,EAAE,EAAE,EAAE;IACpD,IAAI,MAAM,EAAE,MAAM,EAAE;QAClB,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC5C,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QACxD,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAEpE,OAAO,CACL,mBACE,SAAS,EAAE,2DAA2D,SAAS,IAAI,EAAE,EAAE,aAEvF,cACE,SAAS,EAAE,+BAA+B,EAC1C,KAAK,EAAE,EAAE,SAAS,EAAE,eAAe,gBAAgB,MAAM,EAAE,YAE1D,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,GAC3D,EAEN,cACE,SAAS,EAAE,4DAA4D,UAAU,CAAC,MAAM,EAAE,YAEzF,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAC3B,eAAe,CAAC;wBACd,KAAK;wBACL,CAAC;wBACD,gBAAgB;wBAChB,OAAO,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;wBACrC,QAAQ;qBACT,CAAC,CACH,GACG,IACE,CACX,CAAC;KACH;AACH,CAAC,CACF,CAAC;AAEF,SAAS,kBAAkB,CAAC,KAA+B,EAAE,CAAS,EAAE,OAAO;IAC7E,OAAO,CACL,kBAAyB,SAAS,EAAC,4BAA4B,EAAC,IAAI,EAAC,MAAM,YACzE,cAAK,SAAS,EAAC,mBAAmB,YAChC,KAAC,iBAAiB,IAAC,OAAO,EAAE,OAAO,KAAM,KAAK,GAAI,GAC9C,IAHM,MAAM,CAAC,CAAC,CAAC,CAIb,CACX,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,gBAAgB,EAAE,OAAO,EAAE,QAAQ,EAAE;IACxE,MAAM,WAAW,GAAG,CAAC,KAAK,gBAAgB,CAAC;IAC3C,MAAM,oBAAoB,GAAG,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,MAAM,iBAAiB,GAAG,WAAW,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,qBAAqB,CAAC;IACpF,OAAO,CACL,kBACE,IAAI,EAAC,QAAQ,EAEb,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,uFAAuF,aAElG,eAAK,SAAS,EAAC,yDAAyD,aACtE,cAAK,SAAS,EAAE,qDAAqD,iBAAiB,EAAE,YACrF,KAAK,CAAC,KAAK,GACR,EACN,cAAK,SAAS,EAAC,6BAA6B,YAAE,KAAK,CAAC,IAAI,GAAO,IAC3D,EACN,cACE,SAAS,EAAE,6EAA6E,oBAAoB,EAAE,EAC9G,KAAK,EAAE,EAAE,iBAAiB,EAAE,GAAG,QAAQ,GAAG,EAAE,GACvC,KAbF,MAAM,CAAC,CAAC,CAAC,CAcP,CACV,CAAC;AACJ,CAAC"}
|
package/lib/Tile.js
CHANGED
|
@@ -8,9 +8,19 @@ const tileStyleMap = {
|
|
|
8
8
|
primary: 'bg-white text-primary-text',
|
|
9
9
|
secondary: 'bg-primary-main text-white',
|
|
10
10
|
};
|
|
11
|
+
const TITLE_CLASSES = 'font-medium m-0 whitespace-pre-wrap max-w-[600px]';
|
|
11
12
|
export const Tile = JSX(({ className, context, title, description, button, image, items, version = 'primary' }) => {
|
|
12
13
|
const router = context.useRouter();
|
|
13
14
|
const { handlerDecorator } = context;
|
|
14
|
-
return (_jsx("section", { className: `font-sans p-9 rounded-[40px] flex justify-between items-stretch relative ${className || ''} ${tileStyleMap[version]}`, children: _jsxs("div", { className: "flex flex-col w-full", children: [title && (
|
|
15
|
+
return (_jsx("section", { className: `font-sans p-9 rounded-[40px] flex justify-between items-stretch relative ${className || ''} ${tileStyleMap[version]}`, children: _jsxs("div", { className: "flex flex-col w-full", children: [title && renderTitle(title, className), _jsxs("div", { className: "flex justify-between h-full", children: [_jsxs("div", { className: "flex flex-col", children: [description && (_jsx("div", { className: "font-normal text-base max-w-[600px] mt-4", children: description })), items?.length ? (_jsx("section", { className: "space-y-2.5 mt-5 max-w-[600px]", role: "list", children: items.map((_, i) => (_jsx(BlockItem, { text: _, version: version }, String(i)))) })) : null, button?.text && (_jsx("div", { className: "mt-auto", children: _jsx(Button, { className: "mt-8", ...useLink({ router, handlerDecorator }, button), version: "secondary" }) }))] }), image?.src && (_jsx("div", { className: "mt-auto flex-none h-[220px] w-[220px]", children: _jsx(Img, { image: image }) }))] })] }) }));
|
|
15
16
|
});
|
|
17
|
+
const renderTitle = (title, className = '') => {
|
|
18
|
+
if (className.includes('col-span-4')) {
|
|
19
|
+
return _jsx("h3", { className: `${TITLE_CLASSES} text-title-xs`, children: title });
|
|
20
|
+
}
|
|
21
|
+
if (className.includes('col-span-6') || className.includes('col-span-8')) {
|
|
22
|
+
return _jsx("h3", { className: `${TITLE_CLASSES} text-title-sm`, children: title });
|
|
23
|
+
}
|
|
24
|
+
return _jsx("h2", { className: `${TITLE_CLASSES} text-title`, children: title });
|
|
25
|
+
};
|
|
16
26
|
//# sourceMappingURL=Tile.js.map
|
package/lib/Tile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tile.js","sourceRoot":"","sources":["../src/Tile.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAExC,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5B,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgBpC,MAAM,YAAY,GAAiC;IACjD,OAAO,EAAE,4BAA4B;IACrC,SAAS,EAAE,4BAA4B;CACxC,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,CACrB,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,GAAG,SAAS,EAAE,EAAE,EAAE;IACxF,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IACnC,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC;IACrC,OAAO,CACL,kBACE,SAAS,EAAE,4EACT,SAAS,IAAI,EACf,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,YAE3B,eAAK,SAAS,EAAC,sBAAsB,aAClC,KAAK,IAAI,
|
|
1
|
+
{"version":3,"file":"Tile.js","sourceRoot":"","sources":["../src/Tile.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAExC,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5B,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgBpC,MAAM,YAAY,GAAiC;IACjD,OAAO,EAAE,4BAA4B;IACrC,SAAS,EAAE,4BAA4B;CACxC,CAAC;AAEF,MAAM,aAAa,GAAG,mDAAmD,CAAC;AAE1E,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,CACrB,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,GAAG,SAAS,EAAE,EAAE,EAAE;IACxF,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IACnC,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC;IACrC,OAAO,CACL,kBACE,SAAS,EAAE,4EACT,SAAS,IAAI,EACf,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,YAE3B,eAAK,SAAS,EAAC,sBAAsB,aAClC,KAAK,IAAI,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,EACvC,eAAK,SAAS,EAAC,6BAA6B,aAC1C,eAAK,SAAS,EAAC,eAAe,aAC3B,WAAW,IAAI,CACd,cAAK,SAAS,EAAC,0CAA0C,YAAE,WAAW,GAAO,CAC9E,EACA,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CACf,kBAAS,SAAS,EAAC,gCAAgC,EAAC,IAAI,EAAC,MAAM,YAC5D,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACnB,KAAC,SAAS,IAAiB,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,IAApC,MAAM,CAAC,CAAC,CAAC,CAA+B,CACzD,CAAC,GACM,CACX,CAAC,CAAC,CAAC,IAAI,EACP,MAAM,EAAE,IAAI,IAAI,CACf,cAAK,SAAS,EAAC,SAAS,YACtB,KAAC,MAAM,IACL,SAAS,EAAC,MAAM,KACZ,OAAO,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,MAAM,CAAC,EACjD,OAAO,EAAC,WAAW,GACnB,GACE,CACP,IACG,EACL,KAAK,EAAE,GAAG,IAAI,CACb,cAAK,SAAS,EAAC,uCAAuC,YACpD,KAAC,GAAG,IAAC,KAAK,EAAE,KAAK,GAAI,GACjB,CACP,IACG,IACF,GACE,CACX,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,KAAa,EAAE,YAAoB,EAAE,EAAE,EAAE;IAC5D,IAAI,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;QACpC,OAAO,aAAI,SAAS,EAAE,GAAG,aAAa,gBAAgB,YAAG,KAAK,GAAM,CAAC;KACtE;IAED,IAAI,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;QACxE,OAAO,aAAI,SAAS,EAAE,GAAG,aAAa,gBAAgB,YAAG,KAAK,GAAM,CAAC;KACtE;IAED,OAAO,aAAI,SAAS,EAAE,GAAG,aAAa,aAAa,YAAG,KAAK,GAAM,CAAC;AACpE,CAAC,CAAC"}
|
package/lib/common.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[data-theme=pc]{--color-primary-main:#42ab44;--color-primary-hover:#248341;--color-primary-active:#245f34;--color-secondary-hover:#c5e2c6;--color-secondary-active:#d8f2d9}[data-theme=bc]{--color-primary-main:#83b83e;--color-primary-hover:#5c921d;--color-primary-active:#3c5e10;--color-secondary-hover:#e8f4d9;--color-secondary-active:#d8e3ca}[data-theme=eo]{--color-primary-main:#ddb63d;--color-primary-hover:#bb9727;--color-primary-active:#7e630c;--color-secondary-hover:#f1ecdd;--color-secondary-active:#e5dec7}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.absolute{position:absolute}.relative{position:relative}.sticky{position:-webkit-sticky;position:sticky}.top-4{top:1rem}.right-4{right:1rem}.bottom-0{bottom:0}.right-0{right:0}.left-0{left:0}.-bottom-2{bottom:-.5rem}.z-10{z-index:10}.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-2{margin-left:.5rem;margin-right:.5rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mt-8{margin-top:2rem}.mt-2{margin-top:.5rem}.mt-auto{margin-top:auto}.mb-6{margin-bottom:1.5rem}.mt-4{margin-top:1rem}.mt-7{margin-top:1.75rem}.mt-5{margin-top:1.25rem}.mt-9{margin-top:2.25rem}.mr-8{margin-right:2rem}.ml-auto{margin-left:auto}.mr-5{margin-right:1.25rem}.mr-7{margin-right:1.75rem}.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-\[70px\]{height:70px}.h-8{height:2rem}.h-full{height:100%}.h-11{height:2.75rem}.h-\[100px\]{height:100px}.h-\[220px\]{height:220px}.h-\[1px\]{height:1px}.h-\[8px\]{height:8px}.h-\[2px\]{height:2px}.min-h-\[70px\]{min-height:70px}.min-h-11{min-height:2.75rem}.min-h-\[100px\]{min-height:100px}.w-\[70px\]{width:70px}.w-full{width:100%}.w-8{width:2rem}.w-\[125px\]{width:125px}.w-11{width:2.75rem}.w-\[100px\]{width:100px}.w-\[220px\]{width:220px}.w-\[32px\]{width:32px}.w-\[24px\]{width:24px}.w-\[8px\]{width:8px}.w-\[36px\]{width:36px}.w-10{width:2.5rem}.min-w-\[70px\]{min-width:70px}.min-w-11{min-width:2.75rem}.min-w-\[100px\]{min-width:100px}.max-w-\[47rem\]{max-width:47rem}.max-w-\[580px\]{max-width:580px}.max-w-\[600px\]{max-width:600px}.max-w-min{max-width:-webkit-min-content;max-width:-moz-min-content;max-width:min-content}.flex-none{flex:none}.rotate-180{--tw-rotate:180deg}.rotate-180,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-col-resize{cursor:col-resize}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.resize{resize:both}.grid-flow-col-dense{grid-auto-flow:column dense}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-5{gap:1.25rem}.gap-3{gap:.75rem}.gap-6{gap:1.5rem}.gap-4{gap:1rem}.gap-1{gap:.25rem}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.625rem*var(--tw-space-y-reverse));margin-top:calc(.625rem*(1 - var(--tw-space-y-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.rounded-\[40px\]{border-radius:40px}.rounded-full{border-radius:9999px}.rounded-3xl{border-radius:1.5rem}.rounded-tl-lg{border-top-left-radius:.5rem}.rounded-bl-3xl{border-bottom-left-radius:1.5rem}.rounded-br-3xl{border-bottom-right-radius:1.5rem}.border{border-width:1px}.border-2{border-width:2px}.border-0{border-width:0}.border-solid{border-style:solid}.border-main{--tw-border-opacity:1;border-color:rgb(240 244 240/var(--tw-border-opacity))}.border-primary-main{border-color:var(--color-primary-main)}.border-transparent{border-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-secondary-light{--tw-bg-opacity:1;background-color:rgb(245 247 249/var(--tw-bg-opacity))}.bg-main{--tw-bg-opacity:1;background-color:rgb(240 244 240/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-primary-main{background-color:var(--color-primary-main)}.bg-main-divider{--tw-bg-opacity:1;background-color:rgb(235 237 240/var(--tw-bg-opacity))}.bg-inherit{background-color:inherit}.bg-secondary-dark{--tw-bg-opacity:1;background-color:rgb(226 228 229/var(--tw-bg-opacity))}.p-12{padding:3rem}.p-10{padding:2.5rem}.p-20{padding:5rem}.p-2{padding:.5rem}.p-11{padding:2.75rem}.p-\[10px\]{padding:10px}.p-\[26px\]{padding:26px}.p-9{padding:2.25rem}.p-0{padding:0}.px-12{padding-left:3rem;padding-right:3rem}.py-20{padding-bottom:5rem;padding-top:5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-20{padding-left:5rem;padding-right:5rem}.px-9{padding-left:2.25rem;padding-right:2.25rem}.py-3\.5{padding-bottom:.875rem;padding-top:.875rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.pt-0{padding-top:0}.pr-\[7\.5rem\]{padding-right:7.5rem}.pr-28{padding-right:7rem}.pt-5{padding-top:1.25rem}.pb-8{padding-bottom:2rem}.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-title{font-size:2rem;line-height:2.5rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.text-base{font-size:1rem;line-height:1.5rem}.text-title-lg{font-size:2.5rem;line-height:3rem}.font-medium{font-weight:500}.font-normal{font-weight:400}.text-primary-text{--tw-text-opacity:1;color:rgb(28 28 28/var(--tw-text-opacity))}.text-secondary-text{--tw-text-opacity:1;color:rgb(125 126 127/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-main{--tw-text-opacity:1;color:rgb(240 244 240/var(--tw-text-opacity))}.text-primary-main{color:var(--color-primary-main)}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/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)}.rotate-180{transform:rotate(180deg)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:top-\[50px\]:after{content:var(--tw-content);top:50px}.after\:right-\[-50\%\]:after{content:var(--tw-content);right:-50%}.after\:h-0\.5:after{content:var(--tw-content);height:.125rem}.after\:h-0:after{content:var(--tw-content);height:0}.after\:w-full:after{content:var(--tw-content);width:100%}.after\:bg-secondary-light:after{--tw-bg-opacity:1;background-color:rgb(245 247 249/var(--tw-bg-opacity));content:var(--tw-content)}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.last\:after\:content-none:last-child:after{--tw-content:none;content:var(--tw-content)}.hover\:bg-primary-hover:hover{background-color:var(--color-primary-hover)}.hover\:bg-secondary-hover:hover{background-color:var(--color-secondary-hover)}.hover\:text-primary-main:hover{color:var(--color-primary-main)}.hover\:text-secondary-hover:hover{color:var(--color-secondary-hover)}.active\:bg-primary-active:active{background-color:var(--color-primary-active)}.active\:bg-secondary-active:active{background-color:var(--color-secondary-active)}
|
|
1
|
+
[data-theme=pc]{--color-primary-main:#42ab44;--color-primary-hover:#248341;--color-primary-active:#245f34;--color-secondary-hover:#c5e2c6;--color-secondary-active:#d8f2d9}[data-theme=bc]{--color-primary-main:#83b83e;--color-primary-hover:#5c921d;--color-primary-active:#3c5e10;--color-secondary-hover:#e8f4d9;--color-secondary-active:#d8e3ca}[data-theme=eo]{--color-primary-main:#ddb63d;--color-primary-hover:#bb9727;--color-primary-active:#7e630c;--color-secondary-hover:#f1ecdd;--color-secondary-active:#e5dec7}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.absolute{position:absolute}.relative{position:relative}.sticky{position:-webkit-sticky;position:sticky}.top-4{top:1rem}.right-4{right:1rem}.bottom-0{bottom:0}.right-0{right:0}.left-0{left:0}.-bottom-2{bottom:-.5rem}.z-10{z-index:10}.col-span-12{grid-column:span 12/span 12}.col-span-8{grid-column:span 8/span 8}.col-span-4{grid-column:span 4/span 4}.col-span-6{grid-column:span 6/span 6}.m-0{margin:0}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mt-8{margin-top:2rem}.mt-2{margin-top:.5rem}.mb-6{margin-bottom:1.5rem}.mt-4{margin-top:1rem}.mt-7{margin-top:1.75rem}.mt-5{margin-top:1.25rem}.mt-auto{margin-top:auto}.mt-9{margin-top:2.25rem}.mr-8{margin-right:2rem}.ml-auto{margin-left:auto}.mr-5{margin-right:1.25rem}.mr-7{margin-right:1.75rem}.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-\[70px\]{height:70px}.h-8{height:2rem}.h-full{height:100%}.h-\[50px\]{height:50px}.h-\[3px\]{height:3px}.h-\[100px\]{height:100px}.h-\[220px\]{height:220px}.h-\[1px\]{height:1px}.h-\[8px\]{height:8px}.h-\[2px\]{height:2px}.min-h-\[70px\]{min-height:70px}.min-h-\[50px\]{min-height:50px}.min-h-\[100px\]{min-height:100px}.min-h-\[8px\]{min-height:8px}.w-\[70px\]{width:70px}.w-full{width:100%}.w-8{width:2rem}.w-\[125px\]{width:125px}.w-\[50px\]{width:50px}.w-\[100px\]{width:100px}.w-\[220px\]{width:220px}.w-\[32px\]{width:32px}.w-\[24px\]{width:24px}.w-\[8px\]{width:8px}.w-\[36px\]{width:36px}.w-10{width:2.5rem}.min-w-\[70px\]{min-width:70px}.min-w-\[50px\]{min-width:50px}.min-w-\[100px\]{min-width:100px}.min-w-\[8px\]{min-width:8px}.max-w-\[47rem\]{max-width:47rem}.max-w-\[580px\]{max-width:580px}.max-w-\[600px\]{max-width:600px}.max-w-min{max-width:-webkit-min-content;max-width:-moz-min-content;max-width:min-content}.flex-none{flex:none}.shrink-0{flex-shrink:0}.grow-0{flex-grow:0}.basis-full{flex-basis:100%}.-translate-x-full{--tw-translate-x:-100%}.-translate-x-full,.rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@-webkit-keyframes progress{0%{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes progress{0%{transform:translateX(-100%)}to{transform:translateX(0)}}.animate-slide{-webkit-animation:progress linear;animation:progress linear}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.resize{resize:both}.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-12{grid-template-columns:repeat(12,minmax(0,1fr))}.flex-col{flex-direction:column}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-5{gap:1.25rem}.gap-3{gap:.75rem}.gap-6{gap:1.5rem}.gap-4{gap:1rem}.gap-1{gap:.25rem}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.625rem*var(--tw-space-y-reverse));margin-top:calc(.625rem*(1 - var(--tw-space-y-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.rounded-\[40px\]{border-radius:40px}.rounded-full{border-radius:9999px}.rounded-3xl{border-radius:1.5rem}.rounded-tl-lg{border-top-left-radius:.5rem}.rounded-bl-3xl{border-bottom-left-radius:1.5rem}.rounded-br-3xl{border-bottom-right-radius:1.5rem}.border{border-width:1px}.border-2{border-width:2px}.border-0{border-width:0}.border-t{border-top-width:1px}.border-r{border-right-width:1px}.border-solid{border-style:solid}.border-main{--tw-border-opacity:1;border-color:rgb(240 244 240/var(--tw-border-opacity))}.border-main-divider{--tw-border-opacity:1;border-color:rgb(235 237 240/var(--tw-border-opacity))}.border-primary-main{border-color:var(--color-primary-main)}.border-transparent{border-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-secondary-light{--tw-bg-opacity:1;background-color:rgb(245 247 249/var(--tw-bg-opacity))}.bg-main{--tw-bg-opacity:1;background-color:rgb(240 244 240/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-inherit{background-color:inherit}.bg-primary-main{background-color:var(--color-primary-main)}.bg-main-divider{--tw-bg-opacity:1;background-color:rgb(235 237 240/var(--tw-bg-opacity))}.bg-secondary-dark{--tw-bg-opacity:1;background-color:rgb(226 228 229/var(--tw-bg-opacity))}.p-12{padding:3rem}.p-10{padding:2.5rem}.p-20{padding:5rem}.p-2{padding:.5rem}.p-11{padding:2.75rem}.p-\[10px\]{padding:10px}.p-\[26px\]{padding:26px}.p-9{padding:2.25rem}.p-0{padding:0}.px-0{padding-left:0;padding-right:0}.py-4{padding-bottom:1rem;padding-top:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-12{padding-left:3rem;padding-right:3rem}.py-20{padding-bottom:5rem;padding-top:5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-20{padding-left:5rem;padding-right:5rem}.px-9{padding-left:2.25rem;padding-right:2.25rem}.py-3\.5{padding-bottom:.875rem;padding-top:.875rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.pt-0{padding-top:0}.pr-\[7\.5rem\]{padding-right:7.5rem}.pr-28{padding-right:7rem}.pt-5{padding-top:1.25rem}.pb-8{padding-bottom:2rem}.text-left{text-align:left}.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-title{font-size:2rem;line-height:2.5rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.text-title-lg{font-size:2.5rem;line-height:3rem}.text-base{font-size:1rem;line-height:1.5rem}.text-title-xs{font-size:1.5rem;line-height:1.875rem}.text-title-sm{font-size:1.75rem;line-height:2.5rem}.font-medium{font-weight:500}.font-normal{font-weight:400}.text-primary-text{--tw-text-opacity:1;color:rgb(28 28 28/var(--tw-text-opacity))}.text-secondary-text{--tw-text-opacity:1;color:rgb(125 126 127/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-main{--tw-text-opacity:1;color:rgb(240 244 240/var(--tw-text-opacity))}.text-primary-main{color:var(--color-primary-main)}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/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)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-1000{transition-duration:1s}.rotate-180{transform:rotate(180deg)}.-translate-x-full{transform:translateX(-100%)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:top-\[50px\]:after{content:var(--tw-content);top:50px}.after\:right-\[-50\%\]:after{content:var(--tw-content);right:-50%}.after\:h-0\.5:after{content:var(--tw-content);height:.125rem}.after\:h-0:after{content:var(--tw-content);height:0}.after\:w-full:after{content:var(--tw-content);width:100%}.after\:bg-secondary-light:after{--tw-bg-opacity:1;background-color:rgb(245 247 249/var(--tw-bg-opacity));content:var(--tw-content)}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.last\:after\:content-none:last-child:after{--tw-content:none;content:var(--tw-content)}.hover\:bg-primary-hover:hover{background-color:var(--color-primary-hover)}.hover\:bg-secondary-hover:hover{background-color:var(--color-secondary-hover)}.hover\:text-primary-main:hover{color:var(--color-primary-main)}.hover\:text-secondary-hover:hover{color:var(--color-secondary-hover)}.active\:bg-primary-active:active{background-color:var(--color-primary-active)}.active\:bg-secondary-active:active{background-color:var(--color-secondary-active)}.group:hover .group-hover\:text-primary-text{--tw-text-opacity:1;color:rgb(28 28 28/var(--tw-text-opacity))}
|
package/lib/types.d.ts
CHANGED
|
@@ -5,9 +5,10 @@ import type { TileContent } from './Tile';
|
|
|
5
5
|
import type { ProductBlockInnerContent } from './ProductBlockInner';
|
|
6
6
|
import type { StepsBlockContent } from './StepsBlock';
|
|
7
7
|
import type { BenefitsBlockContent } from './BenefitsBlock';
|
|
8
|
+
import type { ProductGalleryContent } from './ProductGallery';
|
|
8
9
|
export declare type BlockVersion = 'primary' | 'secondary';
|
|
9
10
|
export declare type ColorPalette = 'pc' | 'bc' | 'eo';
|
|
10
|
-
export declare type BlockContent = HeaderContent | PlaceholderContent | ProductBlockInnerContent | TileContent | StepsBlockContent | BenefitsBlockContent;
|
|
11
|
+
export declare type BlockContent = HeaderContent | PlaceholderContent | ProductBlockInnerContent | TileContent | StepsBlockContent | BenefitsBlockContent | ProductGalleryContent;
|
|
11
12
|
export interface BlockDef {
|
|
12
13
|
type: string;
|
|
13
14
|
style?: string[];
|
package/lib/ui-kit/BlockItem.js
CHANGED
|
@@ -9,6 +9,6 @@ const textStyleMap = {
|
|
|
9
9
|
secondary: 'text-white',
|
|
10
10
|
};
|
|
11
11
|
export const BlockItem = JSX(({ className, text, children, version = 'primary' }) => {
|
|
12
|
-
return (_jsxs("div", { className: `inline-block flex ${className || ''}`, role: "listitem", children: [_jsx("div", { className: `inline-block w-[8px] h-[8px] rounded-full mt-2 ${listStyleMap[version]}` }), _jsx("span", { className: `text-base font-normal font-sans mx-3 ${textStyleMap[version]}`, children: text || children })] }));
|
|
12
|
+
return (_jsxs("div", { className: `inline-block flex ${className || ''}`, role: "listitem", children: [_jsx("div", { className: `inline-block w-[8px] h-[8px] min-w-[8px] min-h-[8px] rounded-full mt-2 ${listStyleMap[version]}` }), _jsx("span", { className: `text-base font-normal font-sans mx-3 ${textStyleMap[version]}`, children: text || children })] }));
|
|
13
13
|
});
|
|
14
14
|
//# sourceMappingURL=BlockItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlockItem.js","sourceRoot":"","sources":["../../src/ui-kit/BlockItem.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAYxC,MAAM,YAAY,GAAqC;IACrD,OAAO,EAAE,iBAAiB;IAC1B,SAAS,EAAE,UAAU;CACtB,CAAC;AAEF,MAAM,YAAY,GAAqC;IACrD,OAAO,EAAE,mBAAmB;IAC5B,SAAS,EAAE,YAAY;CACxB,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,CAC1B,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,GAAG,SAAS,EAAE,EAAE,EAAE;IACrD,OAAO,CACL,eAAK,SAAS,EAAE,qBAAqB,SAAS,IAAI,EAAE,EAAE,EAAE,IAAI,EAAC,UAAU,aACrE,cACE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"BlockItem.js","sourceRoot":"","sources":["../../src/ui-kit/BlockItem.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAYxC,MAAM,YAAY,GAAqC;IACrD,OAAO,EAAE,iBAAiB;IAC1B,SAAS,EAAE,UAAU;CACtB,CAAC;AAEF,MAAM,YAAY,GAAqC;IACrD,OAAO,EAAE,mBAAmB;IAC5B,SAAS,EAAE,YAAY;CACxB,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,CAC1B,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,GAAG,SAAS,EAAE,EAAE,EAAE;IACrD,OAAO,CACL,eAAK,SAAS,EAAE,qBAAqB,SAAS,IAAI,EAAE,EAAE,EAAE,IAAI,EAAC,UAAU,aACrE,cACE,SAAS,EAAE,0EAA0E,YAAY,CAAC,OAAO,CAAC,EAAE,GACvG,EACP,eAAM,SAAS,EAAE,wCAAwC,YAAY,CAAC,OAAO,CAAC,EAAE,YAC7E,IAAI,IAAI,QAAQ,GACZ,IACH,CACP,CAAC;AACJ,CAAC,CACF,CAAC"}
|
package/lib/useLink.js
CHANGED
package/lib/useLink.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLink.js","sourceRoot":"","sources":["../src/useLink.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEpD,MAAM,uBAAuB,GAAqB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAE3D,MAAM,UAAU,OAAO,CACrB,EACE,MAAM,EACN,gBAAgB,GAAG,uBAAuB,GACc,EAC1D,IAA0B;IAE1B,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACpD,OAAO;QACL,GAAG,IAAI;QACP,IAAI;QACJ,OAAO,EAAE,gBAAgB,CAAC,CAAC,EAAc,EAAE,EAAE;YAC3C,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACzC,MAAM,aAAa,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC;YAC9D,IAAI,WAAW,IAAI,aAAa,EAAE;gBAChC,EAAE,CAAC,cAAc,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACnB;QACH,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"useLink.js","sourceRoot":"","sources":["../src/useLink.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEpD,MAAM,uBAAuB,GAAqB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAE3D,MAAM,UAAU,OAAO,CACrB,EACE,MAAM,EACN,gBAAgB,GAAG,uBAAuB,GACc,EAC1D,IAA0B;IAE1B,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACpD,OAAO;QACL,GAAG,IAAI;QACP,IAAI;QACJ,OAAO,EAAE,gBAAgB,CAAC,CAAC,EAAc,EAAE,EAAE;YAC3C,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACzC,MAAM,aAAa,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC;YAC9D,IAAI,WAAW,IAAI,aAAa,EAAE;gBAChC,EAAE,CAAC,cAAc,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACnB;QACH,CAAC,EAAE,IAAI,CAAC;KACT,CAAC;AACJ,CAAC"}
|