@redneckz/wildless-cms-uni-blocks 0.2.23 → 0.2.24

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.
@@ -6,7 +6,7 @@ const Blocks_1 = require("./Blocks");
6
6
  const LikeControl_1 = require("./LikeControl");
7
7
  const defaultBlockDecorator = ({ blockClassName, block, render }) => render({ blockClassName, block });
8
8
  exports.ContentPage = (0, uni_jsx_1.JSX)(({ className, data: { style: pageStyle, blocks, likeControl }, context, blockDecorator = defaultBlockDecorator, }) => {
9
- return ((0, jsx_runtime_1.jsxs)("section", { className: `grid grid-cols-12 ${style2className(pageStyle)} ${className}`, children: [blocks && blocks.map(renderBlock), likeControl && ((0, jsx_runtime_1.jsx)(LikeControl_1.LikeControl, { className: "fixed bottom-0 right-0 rounded-tl-lg", context: context }))] }));
9
+ return ((0, jsx_runtime_1.jsxs)("section", { children: [(0, jsx_runtime_1.jsx)("div", { className: `grid grid-cols-12 ${style2className(pageStyle)} ${className}`, children: blocks && blocks.map(renderBlock) }), likeControl && ((0, jsx_runtime_1.jsx)("div", { className: "flex justify-end sticky bottom-0 pointer-events-none", children: (0, jsx_runtime_1.jsx)(LikeControl_1.LikeControl, { className: "rounded-tl-lg pointer-events-auto", context: context }) }))] }));
10
10
  function renderBlock(block, i) {
11
11
  const { type } = block;
12
12
  if (!(type in Blocks_1.Blocks)) {
@@ -1 +1 @@
1
- {"version":3,"file":"ContentPage.js","sourceRoot":"","sources":["../src/ContentPage.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,qCAAkC;AAClC,+CAA4C;AAmB5C,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,WAAW,EAAE,EAC/C,OAAO,EACP,cAAc,GAAG,qBAAqB,GACvC,EAAE,EAAE;IACH,OAAO,CACL,qCAAS,SAAS,EAAE,qBAAqB,eAAe,CAAC,SAAS,CAAC,IAAI,SAAS,EAAE,aAC/E,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,EACjC,WAAW,IAAI,CACd,uBAAC,yBAAW,IAAC,SAAS,EAAC,sCAAsC,EAAC,OAAO,EAAE,OAAO,GAAI,CACnF,IACO,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"}
1
+ {"version":3,"file":"ContentPage.js","sourceRoot":"","sources":["../src/ContentPage.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,qCAAkC;AAClC,+CAA4C;AAmB5C,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,WAAW,EAAE,EAC/C,OAAO,EACP,cAAc,GAAG,qBAAqB,GACvC,EAAE,EAAE;IACH,OAAO,CACL,gDACE,gCAAK,SAAS,EAAE,qBAAqB,eAAe,CAAC,SAAS,CAAC,IAAI,SAAS,EAAE,YAC3E,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,GAC9B,EACL,WAAW,IAAI,CACd,gCAAK,SAAS,EAAC,sDAAsD,YACnE,uBAAC,yBAAW,IAAC,SAAS,EAAC,mCAAmC,EAAC,OAAO,EAAE,OAAO,GAAI,GAC3E,CACP,IACO,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"}
@@ -9,7 +9,7 @@ const PrimaryButton_1 = require("./ui-kit/PrimaryButton");
9
9
  const useLink_1 = require("./useLink");
10
10
  exports.ProductBlock = (0, uni_jsx_1.JSX)((props) => {
11
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" }) })] }));
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?.length ? (0, jsx_runtime_1.jsx)("div", { className: "flex gap-6", children: benefits.map(renderBenefit) }) : null, 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: _ }, _))) })) : null, 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) }) })) : null] }), image && (0, jsx_runtime_1.jsx)("div", { className: "h-full flex", children: (0, jsx_runtime_1.jsx)(Img_1.Img, { image: image, className: "flex" }) })] }));
13
13
  });
14
14
  function renderBenefit(benefit, index) {
15
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));
@@ -1 +1 @@
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
+ {"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;AAsBvB,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,EAAE,MAAM,CAAC,CAAC,CAAC,gCAAK,SAAS,EAAC,YAAY,YAAE,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,GAAO,CAAC,CAAC,CAAC,IAAI,EACzF,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CACf,oCAAS,SAAS,EAAC,eAAe,EAAC,IAAI,EAAC,MAAM,YAC3C,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAChB,uBAAC,qBAAS,IAAS,SAAS,EAAC,MAAM,EAAC,IAAI,EAAE,CAAC,IAA3B,CAAC,CAA8B,CAChD,CAAC,GACM,CACX,CAAC,CAAC,CAAC,IAAI,EACP,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CACd,gCAAK,SAAS,EAAC,SAAS,YACtB,uBAAC,6BAAa,OAAK,IAAA,iBAAO,EAAC,OAAO,EAAE,MAAM,CAAC,GAAI,GAC3C,CACP,CAAC,CAAC,CAAC,IAAI,IACJ,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"}
@@ -6,6 +6,6 @@ const BlockItem_1 = require("./ui-kit/BlockItem");
6
6
  const PrimaryButton_1 = require("./ui-kit/PrimaryButton");
7
7
  const useLink_1 = require("./useLink");
8
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
+ 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?.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: _ }, _))) })) : null, button?.text ? (0, jsx_runtime_1.jsx)(PrimaryButton_1.PrimaryButton, { className: "mt-12", ...(0, useLink_1.useLink)(context, button) }) : null, 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" }))] }));
10
10
  });
11
11
  //# sourceMappingURL=ProductColumnBlock.js.map
@@ -1 +1 @@
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"}
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,EAAE,MAAM,CAAC,CAAC,CAAC,CACf,oCAAS,SAAS,EAAC,eAAe,EAAC,IAAI,EAAC,MAAM,YAC3C,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAChB,uBAAC,qBAAS,IAAS,SAAS,EAAC,MAAM,EAAC,IAAI,EAAE,CAAC,IAA3B,CAAC,CAA8B,CAChD,CAAC,GACM,CACX,CAAC,CAAC,CAAC,IAAI,EACP,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,uBAAC,6BAAa,IAAC,SAAS,EAAC,OAAO,KAAK,IAAA,iBAAO,EAAC,OAAO,EAAE,MAAM,CAAC,GAAI,CAAC,CAAC,CAAC,IAAI,EACvF,KAAK,IAAI,CACR,gCAAK,SAAS,EAAC,uGAAuG,+CAEhH,CACP,IACG,CACP,CAAC;AACJ,CAAC,CACF,CAAC"}
@@ -0,0 +1,9 @@
1
+ export interface UserData {
2
+ token: string;
3
+ name: string;
4
+ }
5
+ export declare function LikeAPI(projectId: string, baseURL: string): {
6
+ getLikeCount: (nodeId: string) => Promise<number>;
7
+ like: (nodeId: string) => Promise<number>;
8
+ dislike: (nodeId: string) => Promise<number>;
9
+ };
@@ -0,0 +1,113 @@
1
+ Object.defineProperty(exports, "__esModule", { value: true });
2
+ exports.LikeAPI = void 0;
3
+ const AUTH_PREFIX = 'guest';
4
+ const LOCAL_STORAGE_NAME = 'likesToken';
5
+ function LikeAPI(projectId, baseURL) {
6
+ async function getLikeCount(nodeId) {
7
+ if (!nodeId) {
8
+ return 0;
9
+ }
10
+ const { token: Authorization } = await auth();
11
+ const params = { node_id: nodeId };
12
+ const url = `${baseURL}/assist/v1/public/projects/${projectId}/nodes/likes?${new URLSearchParams(params)}`;
13
+ try {
14
+ const response = await fetch(url, {
15
+ method: 'GET',
16
+ mode: 'cors',
17
+ headers: { 'Content-Type': 'application/json', Authorization },
18
+ });
19
+ const { likes } = await response.json();
20
+ return likes || 0;
21
+ }
22
+ catch (e) {
23
+ console.error(e);
24
+ return 0;
25
+ }
26
+ }
27
+ async function like(nodeId) {
28
+ if (!nodeId) {
29
+ return 0;
30
+ }
31
+ const { token: Authorization, name } = await auth();
32
+ try {
33
+ const response = await fetch(`${baseURL}/assist/v1/public/projects/${projectId}/nodes/like`, {
34
+ method: 'POST',
35
+ mode: 'cors',
36
+ headers: {
37
+ 'Content-Type': 'application/json',
38
+ Authorization,
39
+ UserID: name,
40
+ },
41
+ body: JSON.stringify({
42
+ node_id: nodeId,
43
+ user_name: name,
44
+ }),
45
+ });
46
+ const { likes } = await response.json();
47
+ return likes || 0;
48
+ }
49
+ catch (e) {
50
+ console.error(e);
51
+ return 0;
52
+ }
53
+ }
54
+ async function dislike(nodeId) {
55
+ if (!nodeId) {
56
+ return 0;
57
+ }
58
+ const { token: Authorization, name } = await auth();
59
+ try {
60
+ const response = await fetch(`${baseURL}/assist/v1/public/projects/${projectId}/nodes/unlike`, {
61
+ method: 'POST',
62
+ mode: 'cors',
63
+ headers: {
64
+ 'Content-Type': 'application/json',
65
+ Authorization,
66
+ UserID: name,
67
+ },
68
+ body: JSON.stringify({
69
+ node_id: nodeId,
70
+ user_name: name,
71
+ }),
72
+ });
73
+ const { likes } = await response.json();
74
+ return likes || 0;
75
+ }
76
+ catch (e) {
77
+ console.error(e);
78
+ return 0;
79
+ }
80
+ }
81
+ async function auth() {
82
+ try {
83
+ const userData = JSON.parse(window.localStorage.getItem(LOCAL_STORAGE_NAME) || '');
84
+ if (userData?.token) {
85
+ return userData;
86
+ }
87
+ const response = await fetch(`${baseURL}/assist/v1/public/auth`, {
88
+ method: 'POST',
89
+ mode: 'cors',
90
+ headers: {
91
+ 'Content-Type': 'application/json',
92
+ },
93
+ body: JSON.stringify({
94
+ prefix: AUTH_PREFIX,
95
+ }),
96
+ });
97
+ const { token, name } = await response.json();
98
+ window.localStorage.setItem(LOCAL_STORAGE_NAME, JSON.stringify({ token, name }));
99
+ return { token, name };
100
+ }
101
+ catch (e) {
102
+ console.error(e);
103
+ return {};
104
+ }
105
+ }
106
+ return {
107
+ getLikeCount,
108
+ like,
109
+ dislike,
110
+ };
111
+ }
112
+ exports.LikeAPI = LikeAPI;
113
+ //# sourceMappingURL=LikeAPI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LikeAPI.js","sourceRoot":"","sources":["../../src/api/LikeAPI.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export type { BlockDef, ContentPageMeta, ContentPageDef, Img, ImgSource, Picture } from './types';
2
2
  export type { ContentPageContext, Router } from './ContentPageContext';
3
3
  export { Blocks } from './Blocks';
4
+ export { LikeAPI } from './api/LikeAPI';
4
5
  export { ContentPageHead } from './ContentPageHead';
5
6
  export { ContentPage } from './ContentPage';
package/dist/index.js CHANGED
@@ -1,7 +1,9 @@
1
1
  Object.defineProperty(exports, "__esModule", { value: true });
2
- exports.ContentPage = exports.ContentPageHead = exports.Blocks = void 0;
2
+ exports.ContentPage = exports.ContentPageHead = exports.LikeAPI = exports.Blocks = void 0;
3
3
  var Blocks_1 = require("./Blocks");
4
4
  Object.defineProperty(exports, "Blocks", { enumerable: true, get: function () { return Blocks_1.Blocks; } });
5
+ var LikeAPI_1 = require("./api/LikeAPI");
6
+ Object.defineProperty(exports, "LikeAPI", { enumerable: true, get: function () { return LikeAPI_1.LikeAPI; } });
5
7
  var ContentPageHead_1 = require("./ContentPageHead");
6
8
  Object.defineProperty(exports, "ContentPageHead", { enumerable: true, get: function () { return ContentPageHead_1.ContentPageHead; } });
7
9
  var ContentPage_1 = require("./ContentPage");
package/dist/index.js.map CHANGED
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAGA,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,yCAAwC;AAA/B,kGAAA,OAAO,OAAA;AAEhB,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AACxB,6CAA4C;AAAnC,0GAAA,WAAW,OAAA"}
@@ -4,7 +4,7 @@ import { Blocks } from './Blocks.js';
4
4
  import { LikeControl } from './LikeControl.js';
5
5
  const defaultBlockDecorator = ({ blockClassName, block, render }) => render({ blockClassName, block });
6
6
  export const ContentPage = JSX(({ className, data: { style: pageStyle, blocks, likeControl }, context, blockDecorator = defaultBlockDecorator, }) => {
7
- return (_jsxs("section", { className: `grid grid-cols-12 ${style2className(pageStyle)} ${className}`, children: [blocks && blocks.map(renderBlock), likeControl && (_jsx(LikeControl, { className: "fixed bottom-0 right-0 rounded-tl-lg", context: context }))] }));
7
+ return (_jsxs("section", { children: [_jsx("div", { className: `grid grid-cols-12 ${style2className(pageStyle)} ${className}`, children: blocks && blocks.map(renderBlock) }), likeControl && (_jsx("div", { className: "flex justify-end sticky bottom-0 pointer-events-none", children: _jsx(LikeControl, { className: "rounded-tl-lg pointer-events-auto", context: context }) }))] }));
8
8
  function renderBlock(block, i) {
9
9
  const { type } = block;
10
10
  if (!(type in Blocks)) {
@@ -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;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAmB5C,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,WAAW,EAAE,EAC/C,OAAO,EACP,cAAc,GAAG,qBAAqB,GACvC,EAAE,EAAE;IACH,OAAO,CACL,mBAAS,SAAS,EAAE,qBAAqB,eAAe,CAAC,SAAS,CAAC,IAAI,SAAS,EAAE,aAC/E,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,EACjC,WAAW,IAAI,CACd,KAAC,WAAW,IAAC,SAAS,EAAC,sCAAsC,EAAC,OAAO,EAAE,OAAO,GAAI,CACnF,IACO,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"}
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;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAmB5C,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,WAAW,EAAE,EAC/C,OAAO,EACP,cAAc,GAAG,qBAAqB,GACvC,EAAE,EAAE;IACH,OAAO,CACL,8BACE,cAAK,SAAS,EAAE,qBAAqB,eAAe,CAAC,SAAS,CAAC,IAAI,SAAS,EAAE,YAC3E,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,GAC9B,EACL,WAAW,IAAI,CACd,cAAK,SAAS,EAAC,sDAAsD,YACnE,KAAC,WAAW,IAAC,SAAS,EAAC,mCAAmC,EAAC,OAAO,EAAE,OAAO,GAAI,GAC3E,CACP,IACO,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"}
@@ -7,7 +7,7 @@ import { PrimaryButton } from './ui-kit/PrimaryButton.js';
7
7
  import { useLink } from './useLink.js';
8
8
  export const ProductBlock = JSX((props) => {
9
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" }) })] }));
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?.length ? _jsx("div", { className: "flex gap-6", children: benefits.map(renderBenefit) }) : null, items?.length ? (_jsx("section", { className: "flex flex-col", role: "list", children: items.map((_) => (_jsx(BlockItem, { className: "mt-6", text: _ }, _))) })) : null, button?.text ? (_jsx("div", { className: "mt-auto", children: _jsx(PrimaryButton, { ...useLink(context, button) }) })) : null] }), image && _jsx("div", { className: "h-full flex", children: _jsx(Img, { image: image, className: "flex" }) })] }));
11
11
  });
12
12
  function renderBenefit(benefit, index) {
13
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));
@@ -1 +1 @@
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
+ {"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;AAsBpC,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,EAAE,MAAM,CAAC,CAAC,CAAC,cAAK,SAAS,EAAC,YAAY,YAAE,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,GAAO,CAAC,CAAC,CAAC,IAAI,EACzF,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CACf,kBAAS,SAAS,EAAC,eAAe,EAAC,IAAI,EAAC,MAAM,YAC3C,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAChB,KAAC,SAAS,IAAS,SAAS,EAAC,MAAM,EAAC,IAAI,EAAE,CAAC,IAA3B,CAAC,CAA8B,CAChD,CAAC,GACM,CACX,CAAC,CAAC,CAAC,IAAI,EACP,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CACd,cAAK,SAAS,EAAC,SAAS,YACtB,KAAC,aAAa,OAAK,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,GAAI,GAC3C,CACP,CAAC,CAAC,CAAC,IAAI,IACJ,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"}
@@ -4,6 +4,6 @@ import { BlockItem } from './ui-kit/BlockItem.js';
4
4
  import { PrimaryButton } from './ui-kit/PrimaryButton.js';
5
5
  import { useLink } from './useLink.js';
6
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
+ 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?.length ? (_jsx("section", { className: "flex flex-col", role: "list", children: items.map((_) => (_jsx(BlockItem, { className: "mt-6", text: _ }, _))) })) : null, button?.text ? _jsx(PrimaryButton, { className: "mt-12", ...useLink(context, button) }) : null, 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" }))] }));
8
8
  });
9
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;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"}
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,EAAE,MAAM,CAAC,CAAC,CAAC,CACf,kBAAS,SAAS,EAAC,eAAe,EAAC,IAAI,EAAC,MAAM,YAC3C,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAChB,KAAC,SAAS,IAAS,SAAS,EAAC,MAAM,EAAC,IAAI,EAAE,CAAC,IAA3B,CAAC,CAA8B,CAChD,CAAC,GACM,CACX,CAAC,CAAC,CAAC,IAAI,EACP,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,KAAC,aAAa,IAAC,SAAS,EAAC,OAAO,KAAK,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,GAAI,CAAC,CAAC,CAAC,IAAI,EACvF,KAAK,IAAI,CACR,cAAK,SAAS,EAAC,uGAAuG,+CAEhH,CACP,IACG,CACP,CAAC;AACJ,CAAC,CACF,CAAC"}
@@ -0,0 +1,9 @@
1
+ export interface UserData {
2
+ token: string;
3
+ name: string;
4
+ }
5
+ export declare function LikeAPI(projectId: string, baseURL: string): {
6
+ getLikeCount: (nodeId: string) => Promise<number>;
7
+ like: (nodeId: string) => Promise<number>;
8
+ dislike: (nodeId: string) => Promise<number>;
9
+ };
@@ -0,0 +1,110 @@
1
+ const AUTH_PREFIX = 'guest';
2
+ const LOCAL_STORAGE_NAME = 'likesToken';
3
+ export function LikeAPI(projectId, baseURL) {
4
+ async function getLikeCount(nodeId) {
5
+ if (!nodeId) {
6
+ return 0;
7
+ }
8
+ const { token: Authorization } = await auth();
9
+ const params = { node_id: nodeId };
10
+ const url = `${baseURL}/assist/v1/public/projects/${projectId}/nodes/likes?${new URLSearchParams(params)}`;
11
+ try {
12
+ const response = await fetch(url, {
13
+ method: 'GET',
14
+ mode: 'cors',
15
+ headers: { 'Content-Type': 'application/json', Authorization },
16
+ });
17
+ const { likes } = await response.json();
18
+ return likes || 0;
19
+ }
20
+ catch (e) {
21
+ console.error(e);
22
+ return 0;
23
+ }
24
+ }
25
+ async function like(nodeId) {
26
+ if (!nodeId) {
27
+ return 0;
28
+ }
29
+ const { token: Authorization, name } = await auth();
30
+ try {
31
+ const response = await fetch(`${baseURL}/assist/v1/public/projects/${projectId}/nodes/like`, {
32
+ method: 'POST',
33
+ mode: 'cors',
34
+ headers: {
35
+ 'Content-Type': 'application/json',
36
+ Authorization,
37
+ UserID: name,
38
+ },
39
+ body: JSON.stringify({
40
+ node_id: nodeId,
41
+ user_name: name,
42
+ }),
43
+ });
44
+ const { likes } = await response.json();
45
+ return likes || 0;
46
+ }
47
+ catch (e) {
48
+ console.error(e);
49
+ return 0;
50
+ }
51
+ }
52
+ async function dislike(nodeId) {
53
+ if (!nodeId) {
54
+ return 0;
55
+ }
56
+ const { token: Authorization, name } = await auth();
57
+ try {
58
+ const response = await fetch(`${baseURL}/assist/v1/public/projects/${projectId}/nodes/unlike`, {
59
+ method: 'POST',
60
+ mode: 'cors',
61
+ headers: {
62
+ 'Content-Type': 'application/json',
63
+ Authorization,
64
+ UserID: name,
65
+ },
66
+ body: JSON.stringify({
67
+ node_id: nodeId,
68
+ user_name: name,
69
+ }),
70
+ });
71
+ const { likes } = await response.json();
72
+ return likes || 0;
73
+ }
74
+ catch (e) {
75
+ console.error(e);
76
+ return 0;
77
+ }
78
+ }
79
+ async function auth() {
80
+ try {
81
+ const userData = JSON.parse(window.localStorage.getItem(LOCAL_STORAGE_NAME) || '');
82
+ if (userData?.token) {
83
+ return userData;
84
+ }
85
+ const response = await fetch(`${baseURL}/assist/v1/public/auth`, {
86
+ method: 'POST',
87
+ mode: 'cors',
88
+ headers: {
89
+ 'Content-Type': 'application/json',
90
+ },
91
+ body: JSON.stringify({
92
+ prefix: AUTH_PREFIX,
93
+ }),
94
+ });
95
+ const { token, name } = await response.json();
96
+ window.localStorage.setItem(LOCAL_STORAGE_NAME, JSON.stringify({ token, name }));
97
+ return { token, name };
98
+ }
99
+ catch (e) {
100
+ console.error(e);
101
+ return {};
102
+ }
103
+ }
104
+ return {
105
+ getLikeCount,
106
+ like,
107
+ dislike,
108
+ };
109
+ }
110
+ //# sourceMappingURL=LikeAPI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LikeAPI.js","sourceRoot":"","sources":["../../src/api/LikeAPI.ts"],"names":[],"mappings":"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"}
package/lib/common.css CHANGED
@@ -1 +1 @@
1
- .fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.top-4{top:1rem}.right-4{right:1rem}.bottom-0{bottom:0}.right-0{right: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-\[125px\]{width:125px}.w-11{width:2.75rem}.w-\[36px\]{width:36px}.w-10{width:2.5rem}.min-w-11{min-width:2.75rem}.min-w-\[7px\]{min-width:7px}.rotate-180,.rotate-\[180deg\]{--tw-rotate:180deg;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-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-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}.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-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}.rounded-tl-\[74px\]{border-top-left-radius:74px}.rounded-br-\[40px\]{border-bottom-right-radius:40px}.border{border-width:1px}.border-2{border-width:2px}.border-0{border-width:0}.border-b-2{border-bottom-width:2px}.border-solid{border-style:solid}.border-second-light{--tw-border-opacity:1;border-color:rgb(245 247 249/var(--tw-border-opacity))}.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-inherit{background-color:inherit}.p-20{padding:5rem}.p-2{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)}.rotate-180{transform:rotate(180deg)}.hover\:text-brand:hover{--tw-text-opacity:1;color:rgb(66 171 68/var(--tw-text-opacity))}
1
+ .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}.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-\[125px\]{width:125px}.w-11{width:2.75rem}.w-\[36px\]{width:36px}.w-10{width:2.5rem}.min-w-11{min-width:2.75rem}.min-w-\[7px\]{min-width:7px}.rotate-180{--tw-rotate:180deg;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-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-end{justify-content:flex-end}.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}.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-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}.rounded-tl-\[74px\]{border-top-left-radius:74px}.rounded-br-\[40px\]{border-bottom-right-radius:40px}.border{border-width:1px}.border-2{border-width:2px}.border-0{border-width:0}.border-b-2{border-bottom-width:2px}.border-solid{border-style:solid}.border-second-light{--tw-border-opacity:1;border-color:rgb(245 247 249/var(--tw-border-opacity))}.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-inherit{background-color:inherit}.p-20{padding:5rem}.p-2{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)}.rotate-180{transform:rotate(180deg)}.hover\:text-brand:hover{--tw-text-opacity:1;color:rgb(66 171 68/var(--tw-text-opacity))}
package/lib/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export type { BlockDef, ContentPageMeta, ContentPageDef, Img, ImgSource, Picture } from './types';
2
2
  export type { ContentPageContext, Router } from './ContentPageContext';
3
3
  export { Blocks } from './Blocks';
4
+ export { LikeAPI } from './api/LikeAPI';
4
5
  export { ContentPageHead } from './ContentPageHead';
5
6
  export { ContentPage } from './ContentPage';
package/lib/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  export { Blocks } from './Blocks.js';
2
+ export { LikeAPI } from './api/LikeAPI.js';
2
3
  export { ContentPageHead } from './ContentPageHead.js';
3
4
  export { ContentPage } from './ContentPage.js';
4
5
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redneckz/wildless-cms-uni-blocks",
3
- "version": "0.2.23",
3
+ "version": "0.2.24",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",