@iit/precision-ui 0.2.0 → 0.3.0

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.
Files changed (54) hide show
  1. package/dist/Adapters.d.ts +0 -7
  2. package/dist/Adapters.d.ts.map +1 -1
  3. package/dist/components/GridIterator.d.ts.map +1 -1
  4. package/dist/components/ui/checkbox/CheckboxWithLabel.d.ts.map +1 -1
  5. package/dist/decorators/CarouselWrapper.d.ts +4 -4
  6. package/dist/decorators/CarouselWrapper.d.ts.map +1 -1
  7. package/dist/index.es12.js +12 -13
  8. package/dist/index.es12.js.map +1 -1
  9. package/dist/index.es13.js +2 -2
  10. package/dist/index.es15.js.map +1 -1
  11. package/dist/index.es16.js +9 -10
  12. package/dist/index.es16.js.map +1 -1
  13. package/dist/index.es19.js +2 -2
  14. package/dist/index.es22.js +7 -7
  15. package/dist/index.es23.js +1 -1
  16. package/dist/index.es24.js +1 -1
  17. package/dist/index.es27.js.map +1 -1
  18. package/dist/index.es28.js +20 -2
  19. package/dist/index.es28.js.map +1 -1
  20. package/dist/index.es29.js +17 -17
  21. package/dist/index.es29.js.map +1 -1
  22. package/dist/index.es30.js +10 -19
  23. package/dist/index.es30.js.map +1 -1
  24. package/dist/index.es31.js +85 -11
  25. package/dist/index.es31.js.map +1 -1
  26. package/dist/index.es32.js +17 -83
  27. package/dist/index.es32.js.map +1 -1
  28. package/dist/index.es33.js +41 -14
  29. package/dist/index.es33.js.map +1 -1
  30. package/dist/index.es34.js +39 -40
  31. package/dist/index.es34.js.map +1 -1
  32. package/dist/index.es35.js +33 -41
  33. package/dist/index.es35.js.map +1 -1
  34. package/dist/index.es36.js +53 -34
  35. package/dist/index.es36.js.map +1 -1
  36. package/dist/index.es37.js +73 -37
  37. package/dist/index.es37.js.map +1 -1
  38. package/dist/index.es38.js +78 -72
  39. package/dist/index.es38.js.map +1 -1
  40. package/dist/index.es39.js +21 -92
  41. package/dist/index.es39.js.map +1 -1
  42. package/dist/index.es40.js +44 -26
  43. package/dist/index.es40.js.map +1 -1
  44. package/dist/index.es41.js +220 -14
  45. package/dist/index.es41.js.map +1 -1
  46. package/dist/index.es42.js +16 -4
  47. package/dist/index.es42.js.map +1 -1
  48. package/dist/index.es43.js +7 -0
  49. package/dist/index.es43.js.map +1 -0
  50. package/dist/index.es9.js.map +1 -1
  51. package/dist/styles.css +32 -2
  52. package/package.json +1 -1
  53. package/dist/utils/unique.d.ts +0 -2
  54. package/dist/utils/unique.d.ts.map +0 -1
@@ -1,88 +1,22 @@
1
- import e, { useState as p, useRef as N, useEffect as I } from "react";
2
- import { Button as m } from "./index.es2.js";
3
- import { Close16X16 as k } from "@iit/precision-ui-icons";
4
- import { Input as R } from "./index.es11.js";
5
- import { SearchIcon as S } from "lucide-react";
6
- import { cn as a } from "./index.es25.js";
7
- const B = ({
8
- id: f,
9
- placeholder: h,
10
- className: v,
11
- containerClassName: b,
12
- value: r = "",
13
- onChange: t,
14
- onKeyDown: d,
15
- onClickSubmitButton: g,
16
- onClickClearButton: n,
17
- withoutBottomBorder: y,
18
- ...w
19
- }) => {
20
- const [o, s] = p(r), [i, u] = p(!1), l = N(null);
21
- I(() => {
22
- s(r);
23
- }, [r]);
24
- const x = (c) => {
25
- s(c.target.value), t && t(c);
26
- }, E = () => {
27
- s(""), l.current && l.current.focus(), t && t({
28
- target: { value: "" }
29
- }), n && n();
30
- };
31
- return /* @__PURE__ */ e.createElement(
32
- "div",
1
+ import l from "./index.es23.js";
2
+ import e from "react";
3
+ import o from "./index.es14.js";
4
+ import n from "./index.es24.js";
5
+ import { getAdapter as i } from "./index.es9.js";
6
+ const g = ({ title: t, desc: a, icon: r }) => {
7
+ const m = i("ImageWrapper");
8
+ return /* @__PURE__ */ e.createElement("div", { className: "p-6 bg-whitish rounded-lg h-full" }, /* @__PURE__ */ e.createElement("div", { className: "p-4 bg-turquoise-opacity-20 rounded-lg mb-12 inline-flex" }, /* @__PURE__ */ e.createElement(
9
+ m,
33
10
  {
34
- className: a("relative w-full max-w-2xl", b),
35
- onMouseEnter: () => u(!0),
36
- onMouseLeave: () => u(!1)
37
- },
38
- /* @__PURE__ */ e.createElement(
39
- R,
40
- {
41
- ref: l,
42
- id: f,
43
- placeholder: h,
44
- className: a(
45
- "w-full pl-8 pr-20 hover:bg-navy-opacity-4-absolute rounded-full bg-whitish h-14",
46
- v,
47
- y && "border-b border-transparent"
48
- ),
49
- value: o,
50
- onChange: x,
51
- onKeyDown: d,
52
- ...w
53
- }
54
- ),
55
- /* @__PURE__ */ e.createElement(
56
- m,
57
- {
58
- type: "button",
59
- variant: "ghost",
60
- size: "icon",
61
- className: a(
62
- "absolute right-14 top-1/2 -translate-y-1/2 h-5 w-5 text-muted-foreground p-0 hover:bg-navy group",
63
- i ? "bg-white" : "bg-navy-opacity-8"
64
- ),
65
- onClick: E,
66
- style: { display: o ? "block" : "none" }
67
- },
68
- /* @__PURE__ */ e.createElement(k, { className: "h-[10px] w-[10px] left-[5px] top-0 relative text-navy group-hover:text-whitish" }),
69
- /* @__PURE__ */ e.createElement("span", { className: "sr-only" }, "Очистить")
70
- ),
71
- /* @__PURE__ */ e.createElement(
72
- m,
73
- {
74
- className: a(
75
- "absolute right-2 top-1/2 -translate-y-1/2 text-navy h-10 w-10 hover:bg-navy group/submit disabled:pointer-events-auto active:transform active:scale-90",
76
- i ? "bg-white" : "bg-navy-opacity-8"
77
- ),
78
- disabled: !o,
79
- onClick: g || void 0
80
- },
81
- /* @__PURE__ */ e.createElement(S, { className: "h-4 w-4 group-hover/submit:text-whitish" })
82
- )
83
- );
11
+ src: r,
12
+ alt: `Изображение для ${t}`,
13
+ width: 32,
14
+ height: 32,
15
+ className: "object-contain"
16
+ }
17
+ )), /* @__PURE__ */ e.createElement(l, { level: 5, className: "mb-2" }, t), a && /* @__PURE__ */ e.createElement(n, { variant: "small-body", className: "text-navy-opacity-60", as: "div" }, /* @__PURE__ */ e.createElement(o, { html: a })));
84
18
  };
85
19
  export {
86
- B as default
20
+ g as default
87
21
  };
88
22
  //# sourceMappingURL=index.es32.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es32.js","sources":["../src/components/ui/input/SearchInputWithButton.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from \"react\";\r\n\r\nimport { Button } from \"../button\";\r\nimport { Close16X16 } from \"@iit/precision-ui-icons\";\r\nimport { Input } from \"@/components/ui/input\";\r\nimport { SearchIcon } from \"lucide-react\";\r\nimport { cn } from \"@/lib/utils/cn\";\r\n\r\ninterface SearchInputWithButtonProps {\r\n id?: string;\r\n placeholder?: string;\r\n className?: string;\r\n containerClassName?: string;\r\n value?: string;\r\n onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\r\n onKeyDown?: (event: React.KeyboardEvent<HTMLInputElement>) => void;\r\n onClickSubmitButton?: () => void;\r\n onClickClearButton?: () => void;\r\n withoutBottomBorder?: boolean;\r\n}\r\n\r\nconst SearchInputWithButton: React.FC<SearchInputWithButtonProps> = ({\r\n id,\r\n placeholder,\r\n className,\r\n containerClassName,\r\n value = \"\",\r\n onChange,\r\n onKeyDown,\r\n onClickSubmitButton,\r\n onClickClearButton,\r\n withoutBottomBorder,\r\n ...props\r\n}) => {\r\n const [inputValue, setInputValue] = useState(value);\r\n const [isHovered, setIsHovered] = useState(false); // Track hover state\r\n const inputRef = useRef<HTMLInputElement>(null);\r\n\r\n useEffect(() => {\r\n setInputValue(value);\r\n }, [value]);\r\n\r\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {\r\n setInputValue(event.target.value);\r\n if (onChange) {\r\n onChange(event);\r\n }\r\n };\r\n\r\n const handleClearClick = () => {\r\n setInputValue(\"\");\r\n if (inputRef.current) {\r\n inputRef.current.focus();\r\n }\r\n if (onChange) {\r\n onChange({\r\n target: { value: \"\" },\r\n } as React.ChangeEvent<HTMLInputElement>);\r\n }\r\n if (onClickClearButton) {\r\n onClickClearButton();\r\n }\r\n };\r\n\r\n return (\r\n <div\r\n className={cn(\"relative w-full max-w-2xl\", containerClassName)}\r\n onMouseEnter={() => setIsHovered(true)}\r\n onMouseLeave={() => setIsHovered(false)}\r\n >\r\n <Input\r\n ref={inputRef}\r\n id={id}\r\n placeholder={placeholder}\r\n className={cn(\r\n \"w-full pl-8 pr-20 hover:bg-navy-opacity-4-absolute rounded-full bg-whitish h-14\",\r\n className,\r\n withoutBottomBorder && \"border-b border-transparent\"\r\n )}\r\n value={inputValue}\r\n onChange={handleInputChange}\r\n onKeyDown={onKeyDown}\r\n {...props}\r\n />\r\n <Button\r\n type=\"button\"\r\n variant=\"ghost\"\r\n size=\"icon\"\r\n className={cn(\r\n \"absolute right-14 top-1/2 -translate-y-1/2 h-5 w-5 text-muted-foreground p-0 hover:bg-navy group\",\r\n isHovered ? \"bg-white\" : \"bg-navy-opacity-8\"\r\n )}\r\n onClick={handleClearClick}\r\n style={{ display: inputValue ? \"block\" : \"none\" }}\r\n >\r\n <Close16X16 className=\"h-[10px] w-[10px] left-[5px] top-0 relative text-navy group-hover:text-whitish\" />\r\n <span className=\"sr-only\">Очистить</span>\r\n </Button>\r\n\r\n <Button\r\n className={cn(\r\n \"absolute right-2 top-1/2 -translate-y-1/2 text-navy h-10 w-10 hover:bg-navy group/submit disabled:pointer-events-auto active:transform active:scale-90\",\r\n isHovered ? \"bg-white\" : \"bg-navy-opacity-8\"\r\n )}\r\n disabled={!inputValue}\r\n onClick={onClickSubmitButton || undefined}\r\n >\r\n <SearchIcon className=\"h-4 w-4 group-hover/submit:text-whitish\" />\r\n </Button>\r\n </div>\r\n );\r\n};\r\n\r\nexport default SearchInputWithButton;\r\n"],"names":["SearchInputWithButton","id","placeholder","className","containerClassName","value","onChange","onKeyDown","onClickSubmitButton","onClickClearButton","withoutBottomBorder","props","inputValue","setInputValue","useState","isHovered","setIsHovered","inputRef","useRef","useEffect","handleInputChange","event","handleClearClick","React","cn","Input","Button","Close16X16","SearchIcon"],"mappings":";;;;;;AAqBA,MAAMA,IAA8D,CAAC;AAAA,EACnE,IAAAC;AAAA,EACA,aAAAC;AAAA,EACA,WAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,OAAAC,IAAQ;AAAA,EACR,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,qBAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,qBAAAC;AAAA,EACA,GAAGC;AACL,MAAM;AACJ,QAAM,CAACC,GAAYC,CAAa,IAAIC,EAAST,CAAK,GAC5C,CAACU,GAAWC,CAAY,IAAIF,EAAS,EAAK,GAC1CG,IAAWC,EAAyB,IAAI;AAE9C,EAAAC,EAAU,MAAM;AACd,IAAAN,EAAcR,CAAK;AAAA,EAAA,GAClB,CAACA,CAAK,CAAC;AAEJ,QAAAe,IAAoB,CAACC,MAA+C;AAC1D,IAAAR,EAAAQ,EAAM,OAAO,KAAK,GAC5Bf,KACFA,EAASe,CAAK;AAAA,EAChB,GAGIC,IAAmB,MAAM;AAC7B,IAAAT,EAAc,EAAE,GACZI,EAAS,WACXA,EAAS,QAAQ,SAEfX,KACOA,EAAA;AAAA,MACP,QAAQ,EAAE,OAAO,GAAG;AAAA,IAAA,CACkB,GAEtCG,KACiBA;EACrB;AAIA,SAAAc,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAG,6BAA6BpB,CAAkB;AAAA,MAC7D,cAAc,MAAMY,EAAa,EAAI;AAAA,MACrC,cAAc,MAAMA,EAAa,EAAK;AAAA,IAAA;AAAA,IAEtCO,gBAAAA,EAAA;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,KAAKR;AAAA,QACL,IAAAhB;AAAA,QACA,aAAAC;AAAA,QACA,WAAWsB;AAAA,UACT;AAAA,UACArB;AAAA,UACAO,KAAuB;AAAA,QACzB;AAAA,QACA,OAAOE;AAAA,QACP,UAAUQ;AAAA,QACV,WAAAb;AAAA,QACC,GAAGI;AAAA,MAAA;AAAA,IACN;AAAA,IACAY,gBAAAA,EAAA;AAAA,MAACG;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,SAAQ;AAAA,QACR,MAAK;AAAA,QACL,WAAWF;AAAA,UACT;AAAA,UACAT,IAAY,aAAa;AAAA,QAC3B;AAAA,QACA,SAASO;AAAA,QACT,OAAO,EAAE,SAASV,IAAa,UAAU,OAAO;AAAA,MAAA;AAAA,MAEhDW,gBAAAA,EAAA,cAACI,GAAW,EAAA,WAAU,iFAAiF,CAAA;AAAA,MACtGJ,gBAAAA,EAAA,cAAA,QAAA,EAAK,WAAU,UAAA,GAAU,UAAQ;AAAA,IACpC;AAAA,IAEAA,gBAAAA,EAAA;AAAA,MAACG;AAAA,MAAA;AAAA,QACC,WAAWF;AAAA,UACT;AAAA,UACAT,IAAY,aAAa;AAAA,QAC3B;AAAA,QACA,UAAU,CAACH;AAAA,QACX,SAASJ,KAAuB;AAAA,MAAA;AAAA,MAEhCe,gBAAAA,EAAA,cAACK,GAAW,EAAA,WAAU,0CAA0C,CAAA;AAAA,IAClE;AAAA,EAAA;AAGN;"}
1
+ {"version":3,"file":"index.es32.js","sources":["../src/components/cards/Advantage.tsx"],"sourcesContent":["import Heading from '@/components/core/typography/Heading'\r\nimport React from 'react'\r\nimport SafeHtmlRenderer from '../SafeHtml'\r\nimport Text from '@/components/core/typography/Text'\r\nimport { getAdapter } from '@/Adapters'\r\n\r\nexport interface AdvantageProps {\r\n title: string\r\n desc?: string\r\n icon: string\r\n}\r\n\r\nconst Advantage: React.FC<AdvantageProps> = ({ title, desc, icon }) => {\r\n const ImageWrapper = getAdapter('ImageWrapper')\r\n\r\n return (\r\n <div className=\"p-6 bg-whitish rounded-lg h-full\">\r\n <div className=\"p-4 bg-turquoise-opacity-20 rounded-lg mb-12 inline-flex\">\r\n <ImageWrapper\r\n src={icon}\r\n alt={`Изображение для ${title}`}\r\n width={32}\r\n height={32}\r\n className=\"object-contain\"\r\n />\r\n </div>\r\n <Heading level={5} className=\"mb-2\">\r\n {title}\r\n </Heading>\r\n {desc && (\r\n <Text variant=\"small-body\" className=\"text-navy-opacity-60\" as={'div'}>\r\n <SafeHtmlRenderer html={desc} />\r\n </Text>\r\n )}\r\n </div>\r\n )\r\n}\r\n\r\nexport default Advantage\r\n"],"names":["Advantage","title","desc","icon","ImageWrapper","getAdapter","React","Heading","Text","SafeHtmlRenderer"],"mappings":";;;;;AAYA,MAAMA,IAAsC,CAAC,EAAE,OAAAC,GAAO,MAAAC,GAAM,MAAAC,QAAW;AAC/D,QAAAC,IAAeC,EAAW,cAAc;AAE9C,yCACG,OAAI,EAAA,WAAU,sCACZC,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,2DACb,GAAAA,gBAAAA,EAAA;AAAA,IAACF;AAAA,IAAA;AAAA,MACC,KAAKD;AAAA,MACL,KAAK,mBAAmBF,CAAK;AAAA,MAC7B,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,WAAU;AAAA,IAAA;AAAA,EAEd,CAAA,GACAK,gBAAAA,EAAA,cAACC,GAAQ,EAAA,OAAO,GAAG,WAAU,OAAA,GAC1BN,CACH,GACCC,KACCI,gBAAAA,EAAA,cAACE,KAAK,SAAQ,cAAa,WAAU,wBAAuB,IAAI,MAAA,mCAC7DC,GAAiB,EAAA,MAAMP,EAAM,CAAA,CAChC,CAEJ;AAEJ;"}
@@ -1,22 +1,49 @@
1
- import l from "./index.es23.js";
2
- import e from "react";
3
- import o from "./index.es14.js";
4
- import n from "./index.es24.js";
5
- import { getAdapter as i } from "./index.es9.js";
6
- const g = ({ title: t, desc: a, icon: r }) => {
7
- const m = i("ImageWrapper");
8
- return /* @__PURE__ */ e.createElement("div", { className: "p-6 bg-whitish rounded-lg h-full" }, /* @__PURE__ */ e.createElement("div", { className: "p-4 bg-turquoise-opacity-20 rounded-lg mb-12 inline-flex" }, /* @__PURE__ */ e.createElement(
9
- m,
1
+ import e, { Fragment as v } from "react";
2
+ import { Tag as u } from "./index.es17.js";
3
+ import E from "./index.es6.js";
4
+ import h from "./index.es23.js";
5
+ import g from "./index.es14.js";
6
+ import x from "./index.es24.js";
7
+ import { cn as N } from "./index.es25.js";
8
+ import { getAdapter as o } from "./index.es9.js";
9
+ const A = ({
10
+ title: t,
11
+ desc: a,
12
+ icon: r,
13
+ tags: c,
14
+ link: m,
15
+ size: i
16
+ }) => {
17
+ const l = `${i === 2 ? "sm:col-span-2" : "sm:col-span-1"} p-6 bg-whitish rounded-lg h-full`, p = o("LinkWrapper"), f = o("ImageWrapper"), n = /* @__PURE__ */ e.createElement(v, null, /* @__PURE__ */ e.createElement("div", { className: "flex space-x-2" }, c.map((s, d) => /* @__PURE__ */ e.createElement(u, { key: d, variant: s.color }, s.title))), r && /* @__PURE__ */ e.createElement("div", { className: "flex justify-center mt-12" }, /* @__PURE__ */ e.createElement(
18
+ f,
10
19
  {
11
20
  src: r,
12
21
  alt: `Изображение для ${t}`,
13
- width: 32,
14
- height: 32,
15
- className: "object-contain"
22
+ width: 64,
23
+ height: 64
16
24
  }
17
- )), /* @__PURE__ */ e.createElement(l, { level: 5, className: "mb-2" }, t), a && /* @__PURE__ */ e.createElement(n, { variant: "small-body", className: "text-navy-opacity-60", as: "div" }, /* @__PURE__ */ e.createElement(o, { html: a })));
25
+ )), /* @__PURE__ */ e.createElement("div", { className: "space-y-2 mt-[88px]" }, /* @__PURE__ */ e.createElement(h, { level: 4, as: "div" }, t), a && /* @__PURE__ */ e.createElement(x, { variant: "small-body", className: "text-navy-opacity-60", as: "div" }, /* @__PURE__ */ e.createElement(g, { html: a, className: "inline" }))));
26
+ return m ? /* @__PURE__ */ e.createElement(
27
+ p,
28
+ {
29
+ href: m,
30
+ className: N(
31
+ l,
32
+ "flex flex-col h-full justify-between items-start transition-all bottom-0 hover:bottom-1 transform duration-300 relative"
33
+ )
34
+ },
35
+ /* @__PURE__ */ e.createElement("div", null, n),
36
+ /* @__PURE__ */ e.createElement(
37
+ E,
38
+ {
39
+ icon: "arrowRight",
40
+ className: "mt-6"
41
+ },
42
+ "Подробнее"
43
+ )
44
+ ) : /* @__PURE__ */ e.createElement("div", { className: l }, n);
18
45
  };
19
46
  export {
20
- g as default
47
+ A as default
21
48
  };
22
49
  //# sourceMappingURL=index.es33.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es33.js","sources":["../src/components/cards/Advantage.tsx"],"sourcesContent":["import Heading from '@/components/core/typography/Heading'\r\nimport React from 'react'\r\nimport SafeHtmlRenderer from '../SafeHtml'\r\nimport Text from '@/components/core/typography/Text'\r\nimport { getAdapter } from '@/Adapters'\r\n\r\nexport interface AdvantageProps {\r\n title: string\r\n desc?: string\r\n icon: string\r\n}\r\n\r\nconst Advantage: React.FC<AdvantageProps> = ({ title, desc, icon }) => {\r\n const ImageWrapper = getAdapter('ImageWrapper')\r\n\r\n return (\r\n <div className=\"p-6 bg-whitish rounded-lg h-full\">\r\n <div className=\"p-4 bg-turquoise-opacity-20 rounded-lg mb-12 inline-flex\">\r\n <ImageWrapper\r\n src={icon}\r\n alt={`Изображение для ${title}`}\r\n width={32}\r\n height={32}\r\n className=\"object-contain\"\r\n />\r\n </div>\r\n <Heading level={5} className=\"mb-2\">\r\n {title}\r\n </Heading>\r\n {desc && (\r\n <Text variant=\"small-body\" className=\"text-navy-opacity-60\" as={'div'}>\r\n <SafeHtmlRenderer html={desc} />\r\n </Text>\r\n )}\r\n </div>\r\n )\r\n}\r\n\r\nexport default Advantage\r\n"],"names":["Advantage","title","desc","icon","ImageWrapper","getAdapter","React","Heading","Text","SafeHtmlRenderer"],"mappings":";;;;;AAYA,MAAMA,IAAsC,CAAC,EAAE,OAAAC,GAAO,MAAAC,GAAM,MAAAC,QAAW;AAC/D,QAAAC,IAAeC,EAAW,cAAc;AAE9C,yCACG,OAAI,EAAA,WAAU,sCACZC,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,2DACb,GAAAA,gBAAAA,EAAA;AAAA,IAACF;AAAA,IAAA;AAAA,MACC,KAAKD;AAAA,MACL,KAAK,mBAAmBF,CAAK;AAAA,MAC7B,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,WAAU;AAAA,IAAA;AAAA,EAEd,CAAA,GACAK,gBAAAA,EAAA,cAACC,GAAQ,EAAA,OAAO,GAAG,WAAU,OAAA,GAC1BN,CACH,GACCC,KACCI,gBAAAA,EAAA,cAACE,KAAK,SAAQ,cAAa,WAAU,wBAAuB,IAAI,MAAA,mCAC7DC,GAAiB,EAAA,MAAMP,EAAM,CAAA,CAChC,CAEJ;AAEJ;"}
1
+ {"version":3,"file":"index.es33.js","sources":["../src/components/cards/Advantage2.tsx"],"sourcesContent":["import React, { Fragment } from 'react'\r\nimport { Tag, TagItemProps } from '../ui/Tag'\r\n\r\nimport { ButtonText } from '../ui/button'\r\nimport Heading from '../core/typography/Heading'\r\nimport SafeHtmlRenderer from '../SafeHtml'\r\nimport Text from '../core/typography/Text'\r\nimport { cn } from '@/lib/utils/cn'\r\nimport { getAdapter } from '@/Adapters'\r\n\r\nexport interface Advantage2Props {\r\n title: string\r\n desc?: string\r\n icon?: string\r\n tags: TagItemProps[]\r\n link?: string\r\n size?: 1 | 2\r\n}\r\n\r\nconst Advantage2: React.FC<Advantage2Props> = ({\r\n title,\r\n desc,\r\n icon,\r\n tags,\r\n link,\r\n size,\r\n}) => {\r\n const sizeCls = size === 2 ? 'sm:col-span-2' : 'sm:col-span-1'\r\n const classes = `${sizeCls} p-6 bg-whitish rounded-lg h-full`\r\n\r\n const LinkWrapper = getAdapter('LinkWrapper')\r\n const ImageWrapper = getAdapter('ImageWrapper')\r\n\r\n const component = (\r\n <Fragment>\r\n <div className=\"flex space-x-2\">\r\n {tags.map((tag, index) => (\r\n <Tag key={index} variant={tag.color}>\r\n {tag.title}\r\n </Tag>\r\n ))}\r\n </div>\r\n\r\n {icon && (\r\n <div className=\"flex justify-center mt-12\">\r\n <ImageWrapper\r\n src={icon}\r\n alt={`Изображение для ${title}`}\r\n width={64}\r\n height={64}\r\n // className=\"object-contain\"\r\n />\r\n </div>\r\n )}\r\n\r\n <div className=\"space-y-2 mt-[88px]\">\r\n <Heading level={4} as=\"div\">\r\n {title}\r\n </Heading>\r\n {desc && (\r\n <Text variant=\"small-body\" className=\"text-navy-opacity-60\" as=\"div\">\r\n <SafeHtmlRenderer html={desc} className=\"inline\" />\r\n </Text>\r\n )}\r\n </div>\r\n </Fragment>\r\n )\r\n\r\n if (link) {\r\n return (\r\n <LinkWrapper\r\n href={link}\r\n className={cn(\r\n classes,\r\n 'flex flex-col h-full justify-between items-start transition-all bottom-0 hover:bottom-1 transform duration-300 relative'\r\n )}\r\n >\r\n <div>{component}</div>\r\n {/* TODO: here is the button, should be a link */}\r\n <ButtonText\r\n icon=\"arrowRight\"\r\n className=\"mt-6\"\r\n // variant={variant === \"navy\" ? \"white\" : \"default\"}\r\n >\r\n Подробнее\r\n </ButtonText>\r\n </LinkWrapper>\r\n )\r\n }\r\n\r\n return <div className={classes}>{component}</div>\r\n}\r\n\r\nexport default Advantage2\r\n"],"names":["Advantage2","title","desc","icon","tags","link","size","classes","LinkWrapper","getAdapter","ImageWrapper","component","React","Fragment","tag","index","Tag","Heading","Text","SafeHtmlRenderer","cn","ButtonText"],"mappings":";;;;;;;;AAmBA,MAAMA,IAAwC,CAAC;AAAA,EAC7C,OAAAC;AAAA,EACA,MAAAC;AAAA,EACA,MAAAC;AAAA,EACA,MAAAC;AAAA,EACA,MAAAC;AAAA,EACA,MAAAC;AACF,MAAM;AAEE,QAAAC,IAAU,GADAD,MAAS,IAAI,kBAAkB,eACrB,qCAEpBE,IAAcC,EAAW,aAAa,GACtCC,IAAeD,EAAW,cAAc,GAExCE,IACJC,gBAAAA,EAAA,cAACC,GACC,MAAAD,gBAAAA,EAAA,cAAC,OAAI,EAAA,WAAU,iBACZ,GAAAR,EAAK,IAAI,CAACU,GAAKC,MACbH,gBAAAA,EAAA,cAAAI,GAAA,EAAI,KAAKD,GAAO,SAASD,EAAI,MAC3B,GAAAA,EAAI,KACP,CACD,CACH,GAECX,KACCS,gBAAAA,EAAA,cAAC,OAAI,EAAA,WAAU,4BACb,GAAAA,gBAAAA,EAAA;AAAA,IAACF;AAAA,IAAA;AAAA,MACC,KAAKP;AAAA,MACL,KAAK,mBAAmBF,CAAK;AAAA,MAC7B,OAAO;AAAA,MACP,QAAQ;AAAA,IAAA;AAAA,EAAA,CAGZ,GAGDW,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,sBAAA,GACZA,gBAAAA,EAAA,cAAAK,GAAA,EAAQ,OAAO,GAAG,IAAG,MAAA,GACnBhB,CACH,GACCC,KACEU,gBAAAA,EAAA,cAAAM,GAAA,EAAK,SAAQ,cAAa,WAAU,wBAAuB,IAAG,SAC7DN,gBAAAA,EAAA,cAACO,GAAiB,EAAA,MAAMjB,GAAM,WAAU,SAAS,CAAA,CACnD,CAEJ,CACF;AAGF,SAAIG,IAEAO,gBAAAA,EAAA;AAAA,IAACJ;AAAA,IAAA;AAAA,MACC,MAAMH;AAAA,MACN,WAAWe;AAAA,QACTb;AAAA,QACA;AAAA,MACF;AAAA,IAAA;AAAA,IAEAK,gBAAAA,EAAA,cAAC,aAAKD,CAAU;AAAA,IAEhBC,gBAAAA,EAAA;AAAA,MAACS;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,WAAU;AAAA,MAAA;AAAA,MAEX;AAAA,IAED;AAAA,EAAA,IAKET,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAWL,EAAA,GAAUI,CAAU;AAC7C;"}
@@ -1,49 +1,48 @@
1
- import e, { Fragment as v } from "react";
2
- import { Tag as u } from "./index.es17.js";
3
- import E from "./index.es6.js";
4
- import h from "./index.es23.js";
5
- import g from "./index.es14.js";
6
- import x from "./index.es24.js";
7
- import { cn as N } from "./index.es25.js";
8
- import { getAdapter as o } from "./index.es9.js";
9
- const A = ({
10
- title: t,
11
- desc: a,
12
- icon: r,
13
- tags: c,
14
- link: m,
15
- size: i
1
+ import { Tag as b } from "./index.es17.js";
2
+ import h from "./index.es6.js";
3
+ import o from "./index.es23.js";
4
+ import e from "react";
5
+ import s from "./index.es24.js";
6
+ import { cn as x } from "./index.es25.js";
7
+ import { cva as y } from "class-variance-authority";
8
+ import { getAdapter as N } from "./index.es9.js";
9
+ const _ = ({
10
+ size: m,
11
+ tags: l,
12
+ link: n,
13
+ title: i,
14
+ desc: t,
15
+ className: c,
16
+ showDivider: p,
17
+ price: d,
18
+ oldPrice: a,
19
+ detailsText: v
16
20
  }) => {
17
- const l = `${i === 2 ? "sm:col-span-2" : "sm:col-span-1"} p-6 bg-whitish rounded-lg h-full`, p = o("LinkWrapper"), f = o("ImageWrapper"), n = /* @__PURE__ */ e.createElement(v, null, /* @__PURE__ */ e.createElement("div", { className: "flex space-x-2" }, c.map((s, d) => /* @__PURE__ */ e.createElement(u, { key: d, variant: s.color }, s.title))), r && /* @__PURE__ */ e.createElement("div", { className: "flex justify-center mt-12" }, /* @__PURE__ */ e.createElement(
18
- f,
21
+ const f = y(
22
+ "p-6 pb-4 bg-whitish rounded-lg transition-all bottom-0 transform duration-300 hover:scale1-[1.015] border border-transparent hover:border-sapphire1 relative hover:bottom-1 cursor-pointer col-span-1 flex flex-col justify-between items-start sm:min-h-[264px] h-full",
19
23
  {
20
- src: r,
21
- alt: `Изображение для ${t}`,
22
- width: 64,
23
- height: 64
24
+ variants: {
25
+ size: {
26
+ 1: "sm:col-span-1",
27
+ 2: "sm:col-span-2",
28
+ 3: "sm:col-span-3"
29
+ }
30
+ },
31
+ defaultVariants: {
32
+ size: 1
33
+ }
24
34
  }
25
- )), /* @__PURE__ */ e.createElement("div", { className: "space-y-2 mt-[88px]" }, /* @__PURE__ */ e.createElement(h, { level: 4, as: "div" }, t), a && /* @__PURE__ */ e.createElement(x, { variant: "small-body", className: "text-navy-opacity-60", as: "div" }, /* @__PURE__ */ e.createElement(g, { html: a, className: "inline" }))));
26
- return m ? /* @__PURE__ */ e.createElement(
27
- p,
35
+ ), u = N("LinkWrapper");
36
+ return /* @__PURE__ */ e.createElement(u, { href: n, className: x(f({ size: m, className: c })) }, /* @__PURE__ */ e.createElement("div", { "data-test-id": "content-container" }, /* @__PURE__ */ e.createElement("div", { className: "flex space-x-2" }, l.map((r, E) => /* @__PURE__ */ e.createElement(b, { key: E, variant: r.color }, r.title))), /* @__PURE__ */ e.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ e.createElement(o, { level: 5, className: "mt-6", as: "div" }, i), t && /* @__PURE__ */ e.createElement(s, { variant: "small-body", className: "text-navy-opacity-60" }, t))), /* @__PURE__ */ e.createElement("div", { className: "mt-2 sm:mt-6 space-y-6 w-full" }, p && /* @__PURE__ */ e.createElement("div", { className: "border-t border-navy-opacity-16" }), /* @__PURE__ */ e.createElement("div", { className: "flex space-x-4 items-baseline" }, a && /* @__PURE__ */ e.createElement(
37
+ s,
28
38
  {
29
- href: m,
30
- className: N(
31
- l,
32
- "flex flex-col h-full justify-between items-start transition-all bottom-0 hover:bottom-1 transform duration-300 relative"
33
- )
39
+ variant: "caption",
40
+ className: "text-navy-opacity-40 line-through"
34
41
  },
35
- /* @__PURE__ */ e.createElement("div", null, n),
36
- /* @__PURE__ */ e.createElement(
37
- E,
38
- {
39
- icon: "arrowRight",
40
- className: "mt-6"
41
- },
42
- "Подробнее"
43
- )
44
- ) : /* @__PURE__ */ e.createElement("div", { className: l }, n);
42
+ a
43
+ ), /* @__PURE__ */ e.createElement(o, { level: 4, as: "div" }, d)), /* @__PURE__ */ e.createElement(h, { icon: "arrowRight" }, v || "Подробнее")));
45
44
  };
46
45
  export {
47
- A as default
46
+ _ as default
48
47
  };
49
48
  //# sourceMappingURL=index.es34.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es34.js","sources":["../src/components/cards/Advantage2.tsx"],"sourcesContent":["import React, { Fragment } from 'react'\r\nimport { Tag, TagItemProps } from '../ui/Tag'\r\n\r\nimport { ButtonText } from '../ui/button'\r\nimport Heading from '../core/typography/Heading'\r\nimport SafeHtmlRenderer from '../SafeHtml'\r\nimport Text from '../core/typography/Text'\r\nimport { cn } from '@/lib/utils/cn'\r\nimport { getAdapter } from '@/Adapters'\r\n\r\nexport interface Advantage2Props {\r\n title: string\r\n desc?: string\r\n icon?: string\r\n tags: TagItemProps[]\r\n link?: string\r\n size?: 1 | 2\r\n}\r\n\r\nconst Advantage2: React.FC<Advantage2Props> = ({\r\n title,\r\n desc,\r\n icon,\r\n tags,\r\n link,\r\n size,\r\n}) => {\r\n const sizeCls = size === 2 ? 'sm:col-span-2' : 'sm:col-span-1'\r\n const classes = `${sizeCls} p-6 bg-whitish rounded-lg h-full`\r\n\r\n const LinkWrapper = getAdapter('LinkWrapper')\r\n const ImageWrapper = getAdapter('ImageWrapper')\r\n\r\n const component = (\r\n <Fragment>\r\n <div className=\"flex space-x-2\">\r\n {tags.map((tag, index) => (\r\n <Tag key={index} variant={tag.color}>\r\n {tag.title}\r\n </Tag>\r\n ))}\r\n </div>\r\n\r\n {icon && (\r\n <div className=\"flex justify-center mt-12\">\r\n <ImageWrapper\r\n src={icon}\r\n alt={`Изображение для ${title}`}\r\n width={64}\r\n height={64}\r\n // className=\"object-contain\"\r\n />\r\n </div>\r\n )}\r\n\r\n <div className=\"space-y-2 mt-[88px]\">\r\n <Heading level={4} as=\"div\">\r\n {title}\r\n </Heading>\r\n {desc && (\r\n <Text variant=\"small-body\" className=\"text-navy-opacity-60\" as=\"div\">\r\n <SafeHtmlRenderer html={desc} className=\"inline\" />\r\n </Text>\r\n )}\r\n </div>\r\n </Fragment>\r\n )\r\n\r\n if (link) {\r\n return (\r\n <LinkWrapper\r\n href={link}\r\n className={cn(\r\n classes,\r\n 'flex flex-col h-full justify-between items-start transition-all bottom-0 hover:bottom-1 transform duration-300 relative'\r\n )}\r\n >\r\n <div>{component}</div>\r\n {/* TODO: here is the button, should be a link */}\r\n <ButtonText\r\n icon=\"arrowRight\"\r\n className=\"mt-6\"\r\n // variant={variant === \"navy\" ? \"white\" : \"default\"}\r\n >\r\n Подробнее\r\n </ButtonText>\r\n </LinkWrapper>\r\n )\r\n }\r\n\r\n return <div className={classes}>{component}</div>\r\n}\r\n\r\nexport default Advantage2\r\n"],"names":["Advantage2","title","desc","icon","tags","link","size","classes","LinkWrapper","getAdapter","ImageWrapper","component","React","Fragment","tag","index","Tag","Heading","Text","SafeHtmlRenderer","cn","ButtonText"],"mappings":";;;;;;;;AAmBA,MAAMA,IAAwC,CAAC;AAAA,EAC7C,OAAAC;AAAA,EACA,MAAAC;AAAA,EACA,MAAAC;AAAA,EACA,MAAAC;AAAA,EACA,MAAAC;AAAA,EACA,MAAAC;AACF,MAAM;AAEE,QAAAC,IAAU,GADAD,MAAS,IAAI,kBAAkB,eACrB,qCAEpBE,IAAcC,EAAW,aAAa,GACtCC,IAAeD,EAAW,cAAc,GAExCE,IACJC,gBAAAA,EAAA,cAACC,GACC,MAAAD,gBAAAA,EAAA,cAAC,OAAI,EAAA,WAAU,iBACZ,GAAAR,EAAK,IAAI,CAACU,GAAKC,MACbH,gBAAAA,EAAA,cAAAI,GAAA,EAAI,KAAKD,GAAO,SAASD,EAAI,MAC3B,GAAAA,EAAI,KACP,CACD,CACH,GAECX,KACCS,gBAAAA,EAAA,cAAC,OAAI,EAAA,WAAU,4BACb,GAAAA,gBAAAA,EAAA;AAAA,IAACF;AAAA,IAAA;AAAA,MACC,KAAKP;AAAA,MACL,KAAK,mBAAmBF,CAAK;AAAA,MAC7B,OAAO;AAAA,MACP,QAAQ;AAAA,IAAA;AAAA,EAAA,CAGZ,GAGDW,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,sBAAA,GACZA,gBAAAA,EAAA,cAAAK,GAAA,EAAQ,OAAO,GAAG,IAAG,MAAA,GACnBhB,CACH,GACCC,KACEU,gBAAAA,EAAA,cAAAM,GAAA,EAAK,SAAQ,cAAa,WAAU,wBAAuB,IAAG,SAC7DN,gBAAAA,EAAA,cAACO,GAAiB,EAAA,MAAMjB,GAAM,WAAU,SAAS,CAAA,CACnD,CAEJ,CACF;AAGF,SAAIG,IAEAO,gBAAAA,EAAA;AAAA,IAACJ;AAAA,IAAA;AAAA,MACC,MAAMH;AAAA,MACN,WAAWe;AAAA,QACTb;AAAA,QACA;AAAA,MACF;AAAA,IAAA;AAAA,IAEAK,gBAAAA,EAAA,cAAC,aAAKD,CAAU;AAAA,IAEhBC,gBAAAA,EAAA;AAAA,MAACS;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,WAAU;AAAA,MAAA;AAAA,MAEX;AAAA,IAED;AAAA,EAAA,IAKET,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAWL,EAAA,GAAUI,CAAU;AAC7C;"}
1
+ {"version":3,"file":"index.es34.js","sources":["../src/components/cards/FeaturedCard.tsx"],"sourcesContent":["import { Tag, TagItemProps } from '../ui/Tag'\r\n\r\nimport { ButtonText } from '../ui/button'\r\nimport Heading from '../core/typography/Heading'\r\nimport React from 'react'\r\nimport Text from '../core/typography/Text'\r\nimport { cn } from '@/lib/utils/cn'\r\nimport { cva } from 'class-variance-authority'\r\nimport { getAdapter } from '@/Adapters'\r\n\r\nexport interface FeaturedCardProps {\r\n size: 1 | 2 | 3\r\n tags: TagItemProps[]\r\n link: string\r\n title: string\r\n desc?: string\r\n className?: string\r\n showDivider?: boolean\r\n price?: string\r\n oldPrice?: string\r\n detailsText?: string\r\n}\r\n\r\nconst FeaturedCard: React.FC<FeaturedCardProps> = ({\r\n size,\r\n tags,\r\n link,\r\n title,\r\n desc,\r\n className,\r\n showDivider,\r\n price,\r\n oldPrice,\r\n detailsText,\r\n}) => {\r\n const cardStyles = cva(\r\n 'p-6 pb-4 bg-whitish rounded-lg transition-all bottom-0 transform duration-300 hover:scale1-[1.015] border border-transparent hover:border-sapphire1 relative hover:bottom-1 cursor-pointer col-span-1 flex flex-col justify-between items-start sm:min-h-[264px] h-full',\r\n {\r\n variants: {\r\n size: {\r\n 1: 'sm:col-span-1',\r\n 2: 'sm:col-span-2',\r\n 3: 'sm:col-span-3',\r\n },\r\n },\r\n defaultVariants: {\r\n size: 1,\r\n },\r\n }\r\n )\r\n\r\n const LinkWrapper = getAdapter('LinkWrapper')\r\n\r\n return (\r\n <LinkWrapper href={link} className={cn(cardStyles({ size, className }))}>\r\n <div data-test-id=\"content-container\">\r\n <div className=\"flex space-x-2\">\r\n {tags.map((tag, index) => (\r\n <Tag key={index} variant={tag.color}>\r\n {tag.title}\r\n </Tag>\r\n ))}\r\n </div>\r\n <div className=\"space-y-2\">\r\n <Heading level={5} className=\"mt-6\" as={'div'}>\r\n {title}\r\n </Heading>\r\n {desc && (\r\n <Text variant=\"small-body\" className=\"text-navy-opacity-60\">\r\n {desc}\r\n </Text>\r\n )}\r\n </div>\r\n </div>\r\n {/* TODO: here is the button, should be a link */}\r\n <div className=\"mt-2 sm:mt-6 space-y-6 w-full\">\r\n {showDivider && <div className=\"border-t border-navy-opacity-16\"></div>}\r\n <div className=\"flex space-x-4 items-baseline\">\r\n {oldPrice && (\r\n <Text\r\n variant=\"caption\"\r\n className=\"text-navy-opacity-40 line-through\"\r\n >\r\n {oldPrice}\r\n </Text>\r\n )}\r\n <Heading level={4} as={'div'}>\r\n {price}\r\n </Heading>\r\n </div>\r\n <ButtonText icon=\"arrowRight\">{detailsText || 'Подробнее'}</ButtonText>\r\n </div>\r\n </LinkWrapper>\r\n )\r\n}\r\n\r\nexport default FeaturedCard\r\n"],"names":["FeaturedCard","size","tags","link","title","desc","className","showDivider","price","oldPrice","detailsText","cardStyles","cva","LinkWrapper","getAdapter","cn","React","tag","index","Tag","Heading","Text","ButtonText"],"mappings":";;;;;;;;AAuBA,MAAMA,IAA4C,CAAC;AAAA,EACjD,MAAAC;AAAA,EACA,MAAAC;AAAA,EACA,MAAAC;AAAA,EACA,OAAAC;AAAA,EACA,MAAAC;AAAA,EACA,WAAAC;AAAA,EACA,aAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,aAAAC;AACF,MAAM;AACJ,QAAMC,IAAaC;AAAA,IACjB;AAAA,IACA;AAAA,MACE,UAAU;AAAA,QACR,MAAM;AAAA,UACJ,GAAG;AAAA,UACH,GAAG;AAAA,UACH,GAAG;AAAA,QACL;AAAA,MACF;AAAA,MACA,iBAAiB;AAAA,QACf,MAAM;AAAA,MACR;AAAA,IACF;AAAA,EAAA,GAGIC,IAAcC,EAAW,aAAa;AAE5C,yCACGD,GAAY,EAAA,MAAMV,GAAM,WAAWY,EAAGJ,EAAW,EAAE,MAAAV,GAAM,WAAAK,EAAW,CAAA,CAAC,EAAA,GACnEU,gBAAAA,EAAA,cAAA,OAAA,EAAI,gBAAa,oBAChB,GAAAA,gBAAAA,EAAA,cAAC,OAAI,EAAA,WAAU,oBACZd,EAAK,IAAI,CAACe,GAAKC,MACbF,gBAAAA,EAAA,cAAAG,GAAA,EAAI,KAAKD,GAAO,SAASD,EAAI,MAAA,GAC3BA,EAAI,KACP,CACD,CACH,GACCD,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,eACbA,gBAAAA,EAAA,cAACI,GAAQ,EAAA,OAAO,GAAG,WAAU,QAAO,IAAI,MAAA,GACrChB,CACH,GACCC,KACEW,gBAAAA,EAAA,cAAAK,GAAA,EAAK,SAAQ,cAAa,WAAU,uBAClC,GAAAhB,CACH,CAEJ,CACF,GAECW,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,gCACZ,GAAAT,KAAgBS,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,mCAAkC,mCAChE,OAAI,EAAA,WAAU,mCACZP,KACCO,gBAAAA,EAAA;AAAA,IAACK;AAAA,IAAA;AAAA,MACC,SAAQ;AAAA,MACR,WAAU;AAAA,IAAA;AAAA,IAETZ;AAAA,EAAA,GAGJO,gBAAAA,EAAA,cAAAI,GAAA,EAAQ,OAAO,GAAG,IAAI,MACpB,GAAAZ,CACH,CACF,mCACCc,GAAW,EAAA,MAAK,gBAAcZ,KAAe,WAAY,CAC5D,CACF;AAEJ;"}
@@ -1,48 +1,40 @@
1
- import { Tag as b } from "./index.es17.js";
2
- import h from "./index.es6.js";
3
- import o from "./index.es23.js";
4
- import e from "react";
5
- import s from "./index.es24.js";
6
- import { cn as x } from "./index.es25.js";
7
- import { cva as y } from "class-variance-authority";
8
- import { getAdapter as N } from "./index.es9.js";
9
- const _ = ({
10
- size: m,
11
- tags: l,
12
- link: n,
13
- title: i,
14
- desc: t,
15
- className: c,
16
- showDivider: p,
17
- price: d,
18
- oldPrice: a,
19
- detailsText: v
1
+ import { CarouselWrapper as m } from "./index.es40.js";
2
+ import r from "react";
3
+ import o from "./index.es24.js";
4
+ const f = ({
5
+ items: t,
6
+ renderItem: s,
7
+ columns: l = 4,
8
+ showControlsOnDesktop: d = !1,
9
+ withoutCarousel: g = !0,
10
+ // TODO: add to props chain
11
+ footnote: c
20
12
  }) => {
21
- const f = y(
22
- "p-6 pb-4 bg-whitish rounded-lg transition-all bottom-0 transform duration-300 hover:scale1-[1.015] border border-transparent hover:border-sapphire1 relative hover:bottom-1 cursor-pointer col-span-1 flex flex-col justify-between items-start sm:min-h-[264px] h-full",
23
- {
24
- variants: {
25
- size: {
26
- 1: "sm:col-span-1",
27
- 2: "sm:col-span-2",
28
- 3: "sm:col-span-3"
29
- }
30
- },
31
- defaultVariants: {
32
- size: 1
33
- }
13
+ const i = (e) => {
14
+ switch (e) {
15
+ case 1:
16
+ return "grid grid-cols-1 gap-3";
17
+ case 2:
18
+ return "grid grid-cols-1 sm:grid-cols-2 gap-3";
19
+ case 3:
20
+ return "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3";
21
+ case 4:
22
+ return "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-3";
23
+ default:
24
+ return "grid grid-cols-1 gap-3";
34
25
  }
35
- ), u = N("LinkWrapper");
36
- return /* @__PURE__ */ e.createElement(u, { href: n, className: x(f({ size: m, className: c })) }, /* @__PURE__ */ e.createElement("div", { "data-test-id": "content-container" }, /* @__PURE__ */ e.createElement("div", { className: "flex space-x-2" }, l.map((r, E) => /* @__PURE__ */ e.createElement(b, { key: E, variant: r.color }, r.title))), /* @__PURE__ */ e.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ e.createElement(o, { level: 5, className: "mt-6", as: "div" }, i), t && /* @__PURE__ */ e.createElement(s, { variant: "small-body", className: "text-navy-opacity-60" }, t))), /* @__PURE__ */ e.createElement("div", { className: "mt-2 sm:mt-6 space-y-6 w-full" }, p && /* @__PURE__ */ e.createElement("div", { className: "border-t border-navy-opacity-16" }), /* @__PURE__ */ e.createElement("div", { className: "flex space-x-4 items-baseline" }, a && /* @__PURE__ */ e.createElement(
37
- s,
26
+ };
27
+ return /* @__PURE__ */ r.createElement("div", null, g ? /* @__PURE__ */ r.createElement("div", { className: i(l) }, t.map((e, a) => /* @__PURE__ */ r.createElement(r.Fragment, { key: a }, s(e, a)))) : /* @__PURE__ */ r.createElement(
28
+ m,
38
29
  {
39
- variant: "caption",
40
- className: "text-navy-opacity-40 line-through"
41
- },
42
- a
43
- ), /* @__PURE__ */ e.createElement(o, { level: 4, as: "div" }, d)), /* @__PURE__ */ e.createElement(h, { icon: "arrowRight" }, v || "Подробнее")));
30
+ items: t,
31
+ renderItem: (e, a) => s(e, a),
32
+ columns: l,
33
+ showControlsOnDesktop: d
34
+ }
35
+ ), c && /* @__PURE__ */ r.createElement("div", { className: "mt-6" }, /* @__PURE__ */ r.createElement(o, { variant: "small-body", as: "div" }, c)));
44
36
  };
45
37
  export {
46
- _ as default
38
+ f as default
47
39
  };
48
40
  //# sourceMappingURL=index.es35.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es35.js","sources":["../src/components/cards/FeaturedCard.tsx"],"sourcesContent":["import { Tag, TagItemProps } from '../ui/Tag'\r\n\r\nimport { ButtonText } from '../ui/button'\r\nimport Heading from '../core/typography/Heading'\r\nimport React from 'react'\r\nimport Text from '../core/typography/Text'\r\nimport { cn } from '@/lib/utils/cn'\r\nimport { cva } from 'class-variance-authority'\r\nimport { getAdapter } from '@/Adapters'\r\n\r\nexport interface FeaturedCardProps {\r\n size: 1 | 2 | 3\r\n tags: TagItemProps[]\r\n link: string\r\n title: string\r\n desc?: string\r\n className?: string\r\n showDivider?: boolean\r\n price?: string\r\n oldPrice?: string\r\n detailsText?: string\r\n}\r\n\r\nconst FeaturedCard: React.FC<FeaturedCardProps> = ({\r\n size,\r\n tags,\r\n link,\r\n title,\r\n desc,\r\n className,\r\n showDivider,\r\n price,\r\n oldPrice,\r\n detailsText,\r\n}) => {\r\n const cardStyles = cva(\r\n 'p-6 pb-4 bg-whitish rounded-lg transition-all bottom-0 transform duration-300 hover:scale1-[1.015] border border-transparent hover:border-sapphire1 relative hover:bottom-1 cursor-pointer col-span-1 flex flex-col justify-between items-start sm:min-h-[264px] h-full',\r\n {\r\n variants: {\r\n size: {\r\n 1: 'sm:col-span-1',\r\n 2: 'sm:col-span-2',\r\n 3: 'sm:col-span-3',\r\n },\r\n },\r\n defaultVariants: {\r\n size: 1,\r\n },\r\n }\r\n )\r\n\r\n const LinkWrapper = getAdapter('LinkWrapper')\r\n\r\n return (\r\n <LinkWrapper href={link} className={cn(cardStyles({ size, className }))}>\r\n <div data-test-id=\"content-container\">\r\n <div className=\"flex space-x-2\">\r\n {tags.map((tag, index) => (\r\n <Tag key={index} variant={tag.color}>\r\n {tag.title}\r\n </Tag>\r\n ))}\r\n </div>\r\n <div className=\"space-y-2\">\r\n <Heading level={5} className=\"mt-6\" as={'div'}>\r\n {title}\r\n </Heading>\r\n {desc && (\r\n <Text variant=\"small-body\" className=\"text-navy-opacity-60\">\r\n {desc}\r\n </Text>\r\n )}\r\n </div>\r\n </div>\r\n {/* TODO: here is the button, should be a link */}\r\n <div className=\"mt-2 sm:mt-6 space-y-6 w-full\">\r\n {showDivider && <div className=\"border-t border-navy-opacity-16\"></div>}\r\n <div className=\"flex space-x-4 items-baseline\">\r\n {oldPrice && (\r\n <Text\r\n variant=\"caption\"\r\n className=\"text-navy-opacity-40 line-through\"\r\n >\r\n {oldPrice}\r\n </Text>\r\n )}\r\n <Heading level={4} as={'div'}>\r\n {price}\r\n </Heading>\r\n </div>\r\n <ButtonText icon=\"arrowRight\">{detailsText || 'Подробнее'}</ButtonText>\r\n </div>\r\n </LinkWrapper>\r\n )\r\n}\r\n\r\nexport default FeaturedCard\r\n"],"names":["FeaturedCard","size","tags","link","title","desc","className","showDivider","price","oldPrice","detailsText","cardStyles","cva","LinkWrapper","getAdapter","cn","React","tag","index","Tag","Heading","Text","ButtonText"],"mappings":";;;;;;;;AAuBA,MAAMA,IAA4C,CAAC;AAAA,EACjD,MAAAC;AAAA,EACA,MAAAC;AAAA,EACA,MAAAC;AAAA,EACA,OAAAC;AAAA,EACA,MAAAC;AAAA,EACA,WAAAC;AAAA,EACA,aAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,aAAAC;AACF,MAAM;AACJ,QAAMC,IAAaC;AAAA,IACjB;AAAA,IACA;AAAA,MACE,UAAU;AAAA,QACR,MAAM;AAAA,UACJ,GAAG;AAAA,UACH,GAAG;AAAA,UACH,GAAG;AAAA,QACL;AAAA,MACF;AAAA,MACA,iBAAiB;AAAA,QACf,MAAM;AAAA,MACR;AAAA,IACF;AAAA,EAAA,GAGIC,IAAcC,EAAW,aAAa;AAE5C,yCACGD,GAAY,EAAA,MAAMV,GAAM,WAAWY,EAAGJ,EAAW,EAAE,MAAAV,GAAM,WAAAK,EAAW,CAAA,CAAC,EAAA,GACnEU,gBAAAA,EAAA,cAAA,OAAA,EAAI,gBAAa,oBAChB,GAAAA,gBAAAA,EAAA,cAAC,OAAI,EAAA,WAAU,oBACZd,EAAK,IAAI,CAACe,GAAKC,MACbF,gBAAAA,EAAA,cAAAG,GAAA,EAAI,KAAKD,GAAO,SAASD,EAAI,MAAA,GAC3BA,EAAI,KACP,CACD,CACH,GACCD,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,eACbA,gBAAAA,EAAA,cAACI,GAAQ,EAAA,OAAO,GAAG,WAAU,QAAO,IAAI,MAAA,GACrChB,CACH,GACCC,KACEW,gBAAAA,EAAA,cAAAK,GAAA,EAAK,SAAQ,cAAa,WAAU,uBAClC,GAAAhB,CACH,CAEJ,CACF,GAECW,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,gCACZ,GAAAT,KAAgBS,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,mCAAkC,mCAChE,OAAI,EAAA,WAAU,mCACZP,KACCO,gBAAAA,EAAA;AAAA,IAACK;AAAA,IAAA;AAAA,MACC,SAAQ;AAAA,MACR,WAAU;AAAA,IAAA;AAAA,IAETZ;AAAA,EAAA,GAGJO,gBAAAA,EAAA,cAAAI,GAAA,EAAQ,OAAO,GAAG,IAAI,MACpB,GAAAZ,CACH,CACF,mCACCc,GAAW,EAAA,MAAK,gBAAcZ,KAAe,WAAY,CAC5D,CACF;AAEJ;"}
1
+ {"version":3,"file":"index.es35.js","sources":["../src/components/GridIterator.tsx"],"sourcesContent":["import { CarouselWrapper } from '@/decorators/CarouselWrapper'\r\nimport React from 'react'\r\nimport Text from './core/typography/Text'\r\n\r\n// import { getAdapter } from '@/Adapters'\r\n\r\ninterface GridIteratorProps<T> {\r\n items: T[]\r\n renderItem: (item: T, index: number) => React.ReactNode\r\n columns?: number\r\n showControlsOnDesktop?: boolean\r\n withoutCarousel?: boolean\r\n footnote?: string\r\n}\r\n\r\nconst GridIterator = <T,>({\r\n items,\r\n renderItem,\r\n columns = 4,\r\n showControlsOnDesktop = false,\r\n withoutCarousel = true, // TODO: add to props chain\r\n footnote,\r\n}: GridIteratorProps<T>) => {\r\n const getGridClasses = (columns: number) => {\r\n switch (columns) {\r\n case 1:\r\n return 'grid grid-cols-1 gap-3'\r\n case 2:\r\n return 'grid grid-cols-1 sm:grid-cols-2 gap-3'\r\n case 3:\r\n return 'grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3'\r\n case 4:\r\n return 'grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-3'\r\n default:\r\n return 'grid grid-cols-1 gap-3'\r\n }\r\n }\r\n // const CarouselWrapper = getAdapter('CarouselWrapper')\r\n\r\n return (\r\n <div>\r\n {withoutCarousel ? (\r\n <div className={getGridClasses(columns)}>\r\n {items.map((item, index) => (\r\n <React.Fragment key={index}>\r\n {renderItem(item, index)}\r\n </React.Fragment>\r\n ))}\r\n </div>\r\n ) : (\r\n <CarouselWrapper\r\n items={items}\r\n // renderItem={renderItem}\r\n renderItem={(item, index) => renderItem(item as T, index)}\r\n columns={columns}\r\n showControlsOnDesktop={showControlsOnDesktop}\r\n />\r\n )}\r\n\r\n {footnote && (\r\n <div className=\"mt-6\">\r\n <Text variant=\"small-body\" as=\"div\">\r\n {footnote}\r\n </Text>\r\n </div>\r\n )}\r\n </div>\r\n )\r\n}\r\n\r\nexport default GridIterator\r\n"],"names":["GridIterator","items","renderItem","columns","showControlsOnDesktop","withoutCarousel","footnote","getGridClasses","React","item","index","CarouselWrapper","Text"],"mappings":";;;AAeA,MAAMA,IAAe,CAAK;AAAA,EACxB,OAAAC;AAAA,EACA,YAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,uBAAAC,IAAwB;AAAA,EACxB,iBAAAC,IAAkB;AAAA;AAAA,EAClB,UAAAC;AACF,MAA4B;AACpB,QAAAC,IAAiB,CAACJ,MAAoB;AAC1C,YAAQA,GAAS;AAAA,MACf,KAAK;AACI,eAAA;AAAA,MACT,KAAK;AACI,eAAA;AAAA,MACT,KAAK;AACI,eAAA;AAAA,MACT,KAAK;AACI,eAAA;AAAA,MACT;AACS,eAAA;AAAA,IACX;AAAA,EAAA;AAKA,SAAAK,gBAAAA,EAAA,cAAC,OACE,MAAAH,IACEG,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAWD,EAAeJ,CAAO,EAAA,GACnCF,EAAM,IAAI,CAACQ,GAAMC,MACfF,gBAAAA,EAAA,cAAAA,EAAM,UAAN,EAAe,KAAKE,EAAA,GAClBR,EAAWO,GAAMC,CAAK,CACzB,CACD,CACH,IAEAF,gBAAAA,EAAA;AAAA,IAACG;AAAA,IAAA;AAAA,MACC,OAAAV;AAAA,MAEA,YAAY,CAACQ,GAAMC,MAAUR,EAAWO,GAAWC,CAAK;AAAA,MACxD,SAAAP;AAAA,MACA,uBAAAC;AAAA,IAAA;AAAA,EAAA,GAIHE,KACEE,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,OACb,GAAAA,gBAAAA,EAAA,cAACI,GAAK,EAAA,SAAQ,cAAa,IAAG,SAC3BN,CACH,CACF,CAEJ;AAEJ;"}
@@ -1,40 +1,59 @@
1
- import r from "react";
2
- import m from "./index.es24.js";
3
- import { getAdapter as n } from "./index.es9.js";
4
- const E = ({
5
- items: t,
6
- renderItem: s,
7
- columns: l = 4,
8
- showControlsOnDesktop: d = !1,
9
- withoutCarousel: g = !0,
10
- // TODO: add to props chain
11
- footnote: c
12
- }) => {
13
- const i = (e) => {
14
- switch (e) {
15
- case 1:
16
- return "grid grid-cols-1 gap-3";
17
- case 2:
18
- return "grid grid-cols-1 sm:grid-cols-2 gap-3";
19
- case 3:
20
- return "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3";
21
- case 4:
22
- return "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-3";
23
- default:
24
- return "grid grid-cols-1 gap-3";
1
+ import { cva as n } from "class-variance-authority";
2
+ import p from "./index.es6.js";
3
+ import f from "./index.es23.js";
4
+ import e from "react";
5
+ import d from "./index.es14.js";
6
+ import h from "./index.es24.js";
7
+ import { cn as a } from "./index.es25.js";
8
+ import { getAdapter as u } from "./index.es9.js";
9
+ const l = n("rounded-lg p-6 min-h-[190px] h-full", {
10
+ variants: {
11
+ variant: {
12
+ default: "bg-white",
13
+ sapphire: "bg-sapphire text-whitish"
25
14
  }
26
- }, o = n("CarouselWrapper");
27
- return /* @__PURE__ */ r.createElement("div", null, g ? /* @__PURE__ */ r.createElement("div", { className: i(l) }, t.map((e, a) => /* @__PURE__ */ r.createElement(r.Fragment, { key: a }, s(e, a)))) : /* @__PURE__ */ r.createElement(
28
- o,
29
- {
30
- items: t,
31
- renderItem: (e, a) => s(e, a),
32
- columns: l,
33
- showControlsOnDesktop: d
15
+ },
16
+ defaultVariants: {
17
+ variant: "default"
18
+ }
19
+ }), v = n("", {
20
+ variants: {
21
+ variant: {
22
+ default: "text-navy-opacity-60",
23
+ sapphire: "text-whitish-opacity-60"
34
24
  }
35
- ), c && /* @__PURE__ */ r.createElement("div", { className: "mt-6" }, /* @__PURE__ */ r.createElement(m, { variant: "small-body", as: "div" }, c)));
25
+ },
26
+ defaultVariants: {
27
+ variant: "default"
28
+ }
29
+ }), R = ({
30
+ title: s,
31
+ desc: m,
32
+ variant: t,
33
+ link: r,
34
+ detailsText: i
35
+ }) => {
36
+ const o = /* @__PURE__ */ e.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ e.createElement(f, { level: 4, as: "div" }, s), /* @__PURE__ */ e.createElement(h, { className: a(v({ variant: t })), as: "div" }, /* @__PURE__ */ e.createElement(d, { html: m }))), c = u("LinkWrapper");
37
+ return r ? /* @__PURE__ */ e.createElement(
38
+ c,
39
+ {
40
+ href: r,
41
+ className: a(
42
+ l({ variant: t }),
43
+ "transition-all bottom-0 hover:bottom-1 transform duration-300 relative hover:scale1-[1.005]"
44
+ )
45
+ },
46
+ /* @__PURE__ */ e.createElement("div", { className: "flex flex-col justify-between h-full items-start" }, o, i && /* @__PURE__ */ e.createElement(
47
+ p,
48
+ {
49
+ icon: "arrowRight",
50
+ variant: t == "sapphire" ? "white" : "default"
51
+ },
52
+ i || "Подробнее"
53
+ ))
54
+ ) : /* @__PURE__ */ e.createElement("div", { className: a(l({ variant: t })) }, o);
36
55
  };
37
56
  export {
38
- E as default
57
+ R as default
39
58
  };
40
59
  //# sourceMappingURL=index.es36.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es36.js","sources":["../src/components/GridIterator.tsx"],"sourcesContent":["import React from 'react'\r\nimport Text from './core/typography/Text'\r\nimport { getAdapter } from '@/Adapters'\r\n\r\ninterface GridIteratorProps<T> {\r\n items: T[]\r\n renderItem: (item: T, index: number) => React.ReactNode\r\n columns?: number\r\n showControlsOnDesktop?: boolean\r\n withoutCarousel?: boolean\r\n footnote?: string\r\n}\r\n\r\nconst GridIterator = <T,>({\r\n items,\r\n renderItem,\r\n columns = 4,\r\n showControlsOnDesktop = false,\r\n withoutCarousel = true, // TODO: add to props chain\r\n footnote,\r\n}: GridIteratorProps<T>) => {\r\n const getGridClasses = (columns: number) => {\r\n switch (columns) {\r\n case 1:\r\n return 'grid grid-cols-1 gap-3'\r\n case 2:\r\n return 'grid grid-cols-1 sm:grid-cols-2 gap-3'\r\n case 3:\r\n return 'grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3'\r\n case 4:\r\n return 'grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-3'\r\n default:\r\n return 'grid grid-cols-1 gap-3'\r\n }\r\n }\r\n const CarouselWrapper = getAdapter('CarouselWrapper')\r\n\r\n return (\r\n <div>\r\n {withoutCarousel ? (\r\n <div className={getGridClasses(columns)}>\r\n {items.map((item, index) => (\r\n <React.Fragment key={index}>\r\n {renderItem(item, index)}\r\n </React.Fragment>\r\n ))}\r\n </div>\r\n ) : (\r\n <CarouselWrapper\r\n items={items}\r\n // renderItem={renderItem}\r\n renderItem={(item, index) => renderItem(item as T, index)}\r\n columns={columns}\r\n showControlsOnDesktop={showControlsOnDesktop}\r\n />\r\n )}\r\n\r\n {footnote && (\r\n <div className=\"mt-6\">\r\n <Text variant=\"small-body\" as=\"div\">\r\n {footnote}\r\n </Text>\r\n </div>\r\n )}\r\n </div>\r\n )\r\n}\r\n\r\nexport default GridIterator\r\n"],"names":["GridIterator","items","renderItem","columns","showControlsOnDesktop","withoutCarousel","footnote","getGridClasses","CarouselWrapper","getAdapter","React","item","index","Text"],"mappings":";;;AAaA,MAAMA,IAAe,CAAK;AAAA,EACxB,OAAAC;AAAA,EACA,YAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,uBAAAC,IAAwB;AAAA,EACxB,iBAAAC,IAAkB;AAAA;AAAA,EAClB,UAAAC;AACF,MAA4B;AACpB,QAAAC,IAAiB,CAACJ,MAAoB;AAC1C,YAAQA,GAAS;AAAA,MACf,KAAK;AACI,eAAA;AAAA,MACT,KAAK;AACI,eAAA;AAAA,MACT,KAAK;AACI,eAAA;AAAA,MACT,KAAK;AACI,eAAA;AAAA,MACT;AACS,eAAA;AAAA,IACX;AAAA,EAAA,GAEIK,IAAkBC,EAAW,iBAAiB;AAGlD,SAAAC,gBAAAA,EAAA,cAAC,OACE,MAAAL,IACEK,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAWH,EAAeJ,CAAO,EAAA,GACnCF,EAAM,IAAI,CAACU,GAAMC,MACfF,gBAAAA,EAAA,cAAAA,EAAM,UAAN,EAAe,KAAKE,EAAA,GAClBV,EAAWS,GAAMC,CAAK,CACzB,CACD,CACH,IAEAF,gBAAAA,EAAA;AAAA,IAACF;AAAA,IAAA;AAAA,MACC,OAAAP;AAAA,MAEA,YAAY,CAACU,GAAMC,MAAUV,EAAWS,GAAWC,CAAK;AAAA,MACxD,SAAAT;AAAA,MACA,uBAAAC;AAAA,IAAA;AAAA,EAAA,GAIHE,KACEI,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,OACb,GAAAA,gBAAAA,EAAA,cAACG,GAAK,EAAA,SAAQ,cAAa,IAAG,SAC3BP,CACH,CACF,CAEJ;AAEJ;"}
1
+ {"version":3,"file":"index.es36.js","sources":["../src/components/cards/Plate.tsx"],"sourcesContent":["import { VariantProps, cva } from 'class-variance-authority'\r\n\r\nimport { ButtonText } from '../ui/button'\r\nimport Heading from '../core/typography/Heading'\r\nimport React from 'react'\r\nimport SafeHtmlRenderer from '../SafeHtml'\r\nimport Text from '../core/typography/Text'\r\nimport { cn } from '@/lib/utils/cn'\r\nimport { getAdapter } from '@/Adapters'\r\n\r\nconst plateCardVariants = cva('rounded-lg p-6 min-h-[190px] h-full', {\r\n variants: {\r\n variant: {\r\n default: 'bg-white',\r\n sapphire: 'bg-sapphire text-whitish',\r\n },\r\n },\r\n defaultVariants: {\r\n variant: 'default',\r\n },\r\n})\r\n\r\nconst descVariants = cva('', {\r\n variants: {\r\n variant: {\r\n default: 'text-navy-opacity-60',\r\n sapphire: 'text-whitish-opacity-60',\r\n },\r\n },\r\n defaultVariants: {\r\n variant: 'default',\r\n },\r\n})\r\n\r\nexport interface PlateCardProps extends VariantProps<typeof plateCardVariants> {\r\n title: string\r\n desc: string\r\n link?: string\r\n detailsText?: string\r\n}\r\n\r\nconst PlateCard: React.FC<PlateCardProps> = ({\r\n title,\r\n desc,\r\n variant,\r\n link,\r\n detailsText,\r\n}) => {\r\n const content = (\r\n <div className=\"space-y-2\">\r\n <Heading level={4} as=\"div\">\r\n {title}\r\n </Heading>\r\n <Text className={cn(descVariants({ variant }))} as={'div'}>\r\n <SafeHtmlRenderer html={desc} />\r\n </Text>\r\n </div>\r\n )\r\n\r\n const LinkWrapper = getAdapter('LinkWrapper')\r\n\r\n return link ? (\r\n <LinkWrapper\r\n href={link}\r\n className={cn(\r\n plateCardVariants({ variant }),\r\n 'transition-all bottom-0 hover:bottom-1 transform duration-300 relative hover:scale1-[1.005]'\r\n )}\r\n >\r\n <div className=\"flex flex-col justify-between h-full items-start\">\r\n {content}\r\n {detailsText && (\r\n <ButtonText\r\n icon=\"arrowRight\"\r\n variant={variant == 'sapphire' ? 'white' : 'default'}\r\n >\r\n {detailsText || 'Подробнее'}\r\n </ButtonText>\r\n )}\r\n </div>\r\n </LinkWrapper>\r\n ) : (\r\n <div className={cn(plateCardVariants({ variant }))}>{content}</div>\r\n )\r\n}\r\n\r\nexport default PlateCard\r\n"],"names":["plateCardVariants","cva","descVariants","PlateCard","title","desc","variant","link","detailsText","content","React","Heading","Text","cn","SafeHtmlRenderer","LinkWrapper","getAdapter","ButtonText"],"mappings":";;;;;;;;AAUA,MAAMA,IAAoBC,EAAI,uCAAuC;AAAA,EACnE,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,MACT,UAAU;AAAA,IACZ;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,EACX;AACF,CAAC,GAEKC,IAAeD,EAAI,IAAI;AAAA,EAC3B,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,MACT,UAAU;AAAA,IACZ;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,EACX;AACF,CAAC,GASKE,IAAsC,CAAC;AAAA,EAC3C,OAAAC;AAAA,EACA,MAAAC;AAAA,EACA,SAAAC;AAAA,EACA,MAAAC;AAAA,EACA,aAAAC;AACF,MAAM;AACJ,QAAMC,IACJC,gBAAAA,EAAA,cAAC,OAAI,EAAA,WAAU,YACb,GAAAA,gBAAAA,EAAA,cAACC,GAAQ,EAAA,OAAO,GAAG,IAAG,MACnB,GAAAP,CACH,GACCM,gBAAAA,EAAA,cAAAE,GAAA,EAAK,WAAWC,EAAGX,EAAa,EAAE,SAAAI,EAAQ,CAAC,CAAC,GAAG,IAAI,MAAA,GACjDI,gBAAAA,EAAA,cAAAI,GAAA,EAAiB,MAAMT,EAAA,CAAM,CAChC,CACF,GAGIU,IAAcC,EAAW,aAAa;AAE5C,SAAOT,IACLG,gBAAAA,EAAA;AAAA,IAACK;AAAA,IAAA;AAAA,MACC,MAAMR;AAAA,MACN,WAAWM;AAAA,QACTb,EAAkB,EAAE,SAAAM,GAAS;AAAA,QAC7B;AAAA,MACF;AAAA,IAAA;AAAA,IAECI,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,mDAAA,GACZD,GACAD,KACCE,gBAAAA,EAAA;AAAA,MAACO;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,SAASX,KAAW,aAAa,UAAU;AAAA,MAAA;AAAA,MAE1CE,KAAe;AAAA,IAAA,CAGtB;AAAA,EACF,IAECE,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAWG,EAAGb,EAAkB,EAAE,SAAAM,EAAS,CAAA,CAAC,EAAA,GAAIG,CAAQ;AAEjE;"}