@iit/precision-ui 0.6.0 → 0.7.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 (122) hide show
  1. package/dist/components/ArticlePreviewTag.d.ts +11 -0
  2. package/dist/components/ArticlePreviewTag.d.ts.map +1 -0
  3. package/dist/components/cards/AdvantageWithAccordion.d.ts +12 -0
  4. package/dist/components/cards/AdvantageWithAccordion.d.ts.map +1 -0
  5. package/dist/components/cards/Connect.d.ts +19 -0
  6. package/dist/components/cards/Connect.d.ts.map +1 -0
  7. package/dist/components/cards/Doc.d.ts +11 -0
  8. package/dist/components/cards/Doc.d.ts.map +1 -0
  9. package/dist/components/cards/FAQ.d.ts +14 -0
  10. package/dist/components/cards/FAQ.d.ts.map +1 -0
  11. package/dist/components/cards/License.d.ts +10 -0
  12. package/dist/components/cards/License.d.ts.map +1 -0
  13. package/dist/components/cards/Package.d.ts +28 -0
  14. package/dist/components/cards/Package.d.ts.map +1 -0
  15. package/dist/components/pieces/ShowMoreAccordionTrigger.d.ts +8 -0
  16. package/dist/components/pieces/ShowMoreAccordionTrigger.d.ts.map +1 -0
  17. package/dist/components/ui/TagLink.d.ts +14 -0
  18. package/dist/components/ui/TagLink.d.ts.map +1 -0
  19. package/dist/components/ui/accordion.d.ts +15 -0
  20. package/dist/components/ui/accordion.d.ts.map +1 -0
  21. package/dist/components/ui/tabs.d.ts +8 -0
  22. package/dist/components/ui/tabs.d.ts.map +1 -0
  23. package/dist/icons/comet.svg +5 -0
  24. package/dist/index.d.ts +23 -2
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.es.js +105 -63
  27. package/dist/index.es.js.map +1 -1
  28. package/dist/index.es10.js +1 -1
  29. package/dist/index.es11.js +1 -1
  30. package/dist/index.es13.js +1 -1
  31. package/dist/index.es15.js +1 -1
  32. package/dist/index.es16.js +2 -2
  33. package/dist/index.es18.js +1 -1
  34. package/dist/index.es19.js +1 -1
  35. package/dist/index.es2.js +1 -1
  36. package/dist/index.es20.js +1 -1
  37. package/dist/index.es21.js +14 -23
  38. package/dist/index.es21.js.map +1 -1
  39. package/dist/index.es22.js +37 -201
  40. package/dist/index.es22.js.map +1 -1
  41. package/dist/index.es23.js +31 -46
  42. package/dist/index.es23.js.map +1 -1
  43. package/dist/index.es24.js +48 -52
  44. package/dist/index.es24.js.map +1 -1
  45. package/dist/index.es25.js +14 -61
  46. package/dist/index.es25.js.map +1 -1
  47. package/dist/index.es26.js +6 -20
  48. package/dist/index.es26.js.map +1 -1
  49. package/dist/index.es27.js +52 -18
  50. package/dist/index.es27.js.map +1 -1
  51. package/dist/index.es28.js +27 -91
  52. package/dist/index.es28.js.map +1 -1
  53. package/dist/index.es29.js +88 -81
  54. package/dist/index.es29.js.map +1 -1
  55. package/dist/index.es3.js +2 -2
  56. package/dist/index.es30.js +54 -31
  57. package/dist/index.es30.js.map +1 -1
  58. package/dist/index.es31.js +92 -6
  59. package/dist/index.es31.js.map +1 -1
  60. package/dist/index.es32.js +97 -21
  61. package/dist/index.es32.js.map +1 -1
  62. package/dist/index.es33.js +12 -19
  63. package/dist/index.es33.js.map +1 -1
  64. package/dist/index.es34.js +43 -18
  65. package/dist/index.es34.js.map +1 -1
  66. package/dist/index.es35.js +23 -10
  67. package/dist/index.es35.js.map +1 -1
  68. package/dist/index.es36.js +26 -83
  69. package/dist/index.es36.js.map +1 -1
  70. package/dist/index.es37.js +207 -16
  71. package/dist/index.es37.js.map +1 -1
  72. package/dist/index.es38.js +47 -41
  73. package/dist/index.es38.js.map +1 -1
  74. package/dist/index.es39.js +53 -48
  75. package/dist/index.es39.js.map +1 -1
  76. package/dist/index.es4.js +1 -1
  77. package/dist/index.es40.js +59 -37
  78. package/dist/index.es40.js.map +1 -1
  79. package/dist/index.es41.js +18 -54
  80. package/dist/index.es41.js.map +1 -1
  81. package/dist/index.es42.js +17 -90
  82. package/dist/index.es42.js.map +1 -1
  83. package/dist/index.es43.js +88 -95
  84. package/dist/index.es43.js.map +1 -1
  85. package/dist/index.es44.js +88 -25
  86. package/dist/index.es44.js.map +1 -1
  87. package/dist/index.es45.js +33 -47
  88. package/dist/index.es45.js.map +1 -1
  89. package/dist/index.es46.js +65 -230
  90. package/dist/index.es46.js.map +1 -1
  91. package/dist/index.es47.js +43 -16
  92. package/dist/index.es47.js.map +1 -1
  93. package/dist/index.es48.js +10 -3
  94. package/dist/index.es48.js.map +1 -1
  95. package/dist/index.es49.js +9 -0
  96. package/dist/index.es49.js.map +1 -0
  97. package/dist/index.es5.js +1 -1
  98. package/dist/index.es50.js +25 -0
  99. package/dist/index.es50.js.map +1 -0
  100. package/dist/index.es51.js +23 -0
  101. package/dist/index.es51.js.map +1 -0
  102. package/dist/index.es52.js +23 -0
  103. package/dist/index.es52.js.map +1 -0
  104. package/dist/index.es53.js +88 -0
  105. package/dist/index.es53.js.map +1 -0
  106. package/dist/index.es54.js +42 -0
  107. package/dist/index.es54.js.map +1 -0
  108. package/dist/index.es55.js +30 -0
  109. package/dist/index.es55.js.map +1 -0
  110. package/dist/index.es56.js +19 -0
  111. package/dist/index.es56.js.map +1 -0
  112. package/dist/index.es57.js +50 -0
  113. package/dist/index.es57.js.map +1 -0
  114. package/dist/index.es58.js +7 -0
  115. package/dist/index.es58.js.map +1 -0
  116. package/dist/index.es59.js +245 -0
  117. package/dist/index.es59.js.map +1 -0
  118. package/dist/index.es6.js +1 -1
  119. package/dist/index.es7.js +1 -1
  120. package/dist/index.es8.js +1 -1
  121. package/dist/styles.css +206 -0
  122. package/package.json +5 -3
@@ -1,64 +1,17 @@
1
- import E from "./index.es24.js";
2
- import e from "./index.es37.js";
3
- import G from "./index.es38.js";
4
- import R from "./index.es39.js";
5
- import S from "./index.es40.js";
6
- import I from "./index.es41.js";
7
- import _ from "./index.es42.js";
8
- import k from "./index.es43.js";
9
- import t from "react";
10
- const x = {
11
- Advantage: e,
12
- Advantage2: G,
13
- Rate: k,
14
- Product: _,
15
- FeaturedCard: R,
16
- Plate: I
17
- }, y = ({
18
- title: r,
19
- sectionId: o,
20
- desc: a,
21
- items: m,
22
- component: n = "Advantage",
23
- withoutTopPadding: d = !1,
24
- withTopMargin: f = !1,
25
- withBottomMargin: i = !1,
26
- withoutBottomPadding: c = !1,
27
- variant: p,
28
- corners: l,
29
- columns: s,
30
- hideControlsOnDesktop: C,
31
- withoutCarousel: u,
32
- footnote: P
33
- }) => {
34
- const g = x[n] || e;
35
- return /* @__PURE__ */ t.createElement(
36
- E,
37
- {
38
- title: r,
39
- sectionId: o,
40
- desc: a,
41
- variant: p,
42
- corners: l,
43
- withoutTopPadding: d,
44
- withTopMargin: f,
45
- withBottomMargin: i,
46
- withoutBottomPadding: c
47
- },
48
- /* @__PURE__ */ t.createElement(
49
- S,
50
- {
51
- items: m,
52
- columns: s,
53
- hideControlsOnDesktop: C,
54
- withoutCarousel: u,
55
- renderItem: (v, A) => /* @__PURE__ */ t.createElement(g, { key: A, ...v }),
56
- footnote: P
57
- }
58
- )
59
- );
60
- }, B = y;
1
+ import { FileDownIcon as c } from "lucide-react";
2
+ import e from "react";
3
+ import a from "./index.es42.js";
4
+ const s = ({ title: r, format: t, link: o, date: n }) => /* @__PURE__ */ e.createElement(
5
+ "a",
6
+ {
7
+ href: o,
8
+ download: !0,
9
+ className: "flex bg-whitish p-4 pr-8 rounded-lg space-x-2 transition-colors border border-transparent hover:bg-navy-opacity-41 hover:border-navy-opacity-16"
10
+ },
11
+ /* @__PURE__ */ e.createElement(c, { className: "w-8 h-8 shrink-0" }),
12
+ /* @__PURE__ */ e.createElement("div", { className: "space-y-1" }, /* @__PURE__ */ e.createElement(a, { variant: "body", as: "div" }, r), /* @__PURE__ */ e.createElement(a, { variant: "caption", className: "text-navy-opacity-40" }, t, " · ", n))
13
+ ), d = s;
61
14
  export {
62
- B as default
15
+ d as default
63
16
  };
64
17
  //# sourceMappingURL=index.es25.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es25.js","sources":["../src/sections/CardsGridSection.tsx"],"sourcesContent":["import Section, { SectionProps } from './Section'\r\n\r\nimport Advantage from '@/components/cards/Advantage'\r\nimport Advantage2 from '@/components/cards/Advantage2'\r\nimport FeaturedCard from '@/components/cards/FeaturedCard'\r\nimport GridIterator from '@/components/GridIterator'\r\nimport Plate from '@/components/cards/Plate'\r\nimport Product from '@/components/cards/Product'\r\nimport Rate from '@/components/cards/Rate'\r\nimport React from 'react'\r\n\r\n// Map component names to actual components\r\nconst componentMap: { [key: string]: React.ElementType } = {\r\n Advantage,\r\n Advantage2,\r\n Rate,\r\n Product,\r\n FeaturedCard,\r\n Plate,\r\n}\r\n\r\ninterface CardsGridSectionProps<T> {\r\n title: string\r\n sectionId?: string\r\n desc?: string\r\n items: T[]\r\n component?: string\r\n withoutTopPadding?: boolean\r\n withoutBottomPadding?: boolean\r\n withTopMargin?: boolean\r\n withBottomMargin?: boolean\r\n variant?: SectionProps['variant']\r\n corners?: SectionProps['corners']\r\n columns?: number\r\n hideControlsOnDesktop?: boolean\r\n withoutCarousel?: boolean\r\n footnote?: string\r\n}\r\n\r\nconst CardsGridSection = <T,>({\r\n title,\r\n sectionId,\r\n desc,\r\n items,\r\n component = 'Advantage',\r\n withoutTopPadding = false,\r\n withTopMargin = false,\r\n withBottomMargin = false,\r\n withoutBottomPadding = false,\r\n variant,\r\n corners,\r\n columns,\r\n hideControlsOnDesktop,\r\n withoutCarousel,\r\n footnote,\r\n}: CardsGridSectionProps<T>) => {\r\n const Component = componentMap[component] || Advantage\r\n\r\n return (\r\n <Section\r\n title={title}\r\n sectionId={sectionId}\r\n desc={desc}\r\n variant={variant}\r\n corners={corners}\r\n withoutTopPadding={withoutTopPadding}\r\n withTopMargin={withTopMargin}\r\n withBottomMargin={withBottomMargin}\r\n withoutBottomPadding={withoutBottomPadding}\r\n >\r\n <GridIterator\r\n items={items}\r\n columns={columns}\r\n hideControlsOnDesktop={hideControlsOnDesktop}\r\n withoutCarousel={withoutCarousel}\r\n renderItem={(item, index) => <Component key={index} {...item} />}\r\n footnote={footnote}\r\n />\r\n </Section>\r\n )\r\n}\r\n\r\nexport default CardsGridSection\r\n"],"names":["componentMap","Advantage","Advantage2","Rate","Product","FeaturedCard","Plate","CardsGridSection","title","sectionId","desc","items","component","withoutTopPadding","withTopMargin","withBottomMargin","withoutBottomPadding","variant","corners","columns","hideControlsOnDesktop","withoutCarousel","footnote","Component","React","Section","GridIterator","item","index","CardsGridSection$1"],"mappings":";;;;;;;;;AAYA,MAAMA,IAAqD;AAAA,EACzD,WAAAC;AAAA,EACA,YAAAC;AAAA,EAAA,MACAC;AAAAA,EAAA,SACAC;AAAAA,EACA,cAAAC;AAAA,EAAA,OACAC;AACF,GAoBMC,IAAmB,CAAK;AAAA,EAC5B,OAAAC;AAAA,EACA,WAAAC;AAAA,EACA,MAAAC;AAAA,EACA,OAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,mBAAAC,IAAoB;AAAA,EACpB,eAAAC,IAAgB;AAAA,EAChB,kBAAAC,IAAmB;AAAA,EACnB,sBAAAC,IAAuB;AAAA,EACvB,SAAAC;AAAA,EACA,SAAAC;AAAA,EACA,SAAAC;AAAA,EACA,uBAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,UAAAC;AACF,MAAgC;AACxB,QAAAC,IAAYvB,EAAaY,CAAS,KAAKX;AAG3C,SAAAuB,gBAAAA,EAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,OAAAjB;AAAA,MACA,WAAAC;AAAA,MACA,MAAAC;AAAA,MACA,SAAAO;AAAA,MACA,SAAAC;AAAA,MACA,mBAAAL;AAAA,MACA,eAAAC;AAAA,MACA,kBAAAC;AAAA,MACA,sBAAAC;AAAA,IAAA;AAAA,IAEAQ,gBAAAA,EAAA;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,OAAAf;AAAA,QACA,SAAAQ;AAAA,QACA,uBAAAC;AAAA,QACA,iBAAAC;AAAA,QACA,YAAY,CAACM,GAAMC,sCAAWL,GAAU,EAAA,KAAKK,GAAQ,GAAGD,EAAM,CAAA;AAAA,QAC9D,UAAAL;AAAA,MAAA;AAAA,IACF;AAAA,EAAA;AAGN,GAEAO,IAAetB;"}
1
+ {"version":3,"file":"index.es25.js","sources":["../src/components/cards/Doc.tsx"],"sourcesContent":["import { FileDownIcon } from 'lucide-react'\r\nimport React from 'react'\r\nimport Text from '../core/typography/Text'\r\n\r\nexport interface DocCardProps {\r\n title: string\r\n format: string\r\n link: string\r\n date: string\r\n}\r\n\r\nconst DocCard: React.FC<DocCardProps> = ({ title, format, link, date }) => {\r\n return (\r\n <a\r\n href={link}\r\n download\r\n className=\"flex bg-whitish p-4 pr-8 rounded-lg space-x-2 transition-colors border border-transparent hover:bg-navy-opacity-41 hover:border-navy-opacity-16\"\r\n >\r\n {/* TODO: Add correct icon from ui kit */}\r\n <FileDownIcon className=\"w-8 h-8 shrink-0\" />\r\n <div className=\"space-y-1\">\r\n <Text variant=\"body\" as=\"div\">\r\n {title}\r\n </Text>\r\n <Text variant=\"caption\" className=\"text-navy-opacity-40\">\r\n {format} · {date}\r\n </Text>\r\n </div>\r\n </a>\r\n )\r\n}\r\n\r\nexport default DocCard\r\n"],"names":["DocCard","title","format","link","date","React","FileDownIcon","Text","DocCard$1"],"mappings":";;;AAWA,MAAMA,IAAkC,CAAC,EAAE,OAAAC,GAAO,QAAAC,GAAQ,MAAAC,GAAM,MAAAC,QAE5DC,gBAAAA,EAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,MAAMF;AAAA,IACN,UAAQ;AAAA,IACR,WAAU;AAAA,EAAA;AAAA,EAGVE,gBAAAA,EAAA,cAACC,GAAa,EAAA,WAAU,mBAAmB,CAAA;AAAA,EAC3CD,gBAAAA,EAAA,cAAC,SAAI,WAAU,YAAA,mCACZE,GAAK,EAAA,SAAQ,QAAO,IAAG,SACrBN,CACH,GACAI,gBAAAA,EAAA,cAACE,KAAK,SAAQ,WAAU,WAAU,uBAC/B,GAAAL,GAAO,OAAIE,CACd,CACF;AAAA,GAKNI,IAAeR;"}
@@ -1,23 +1,9 @@
1
- import c, { forwardRef as f } from "react";
2
- import { typeVariants as p } from "./index.es44.js";
3
- const e = f(
4
- ({ level: a, as: n, className: t = "", children: r, id: o, ...i }, s) => {
5
- const d = n || `h${a}`, m = p({ variant: `h${a}` });
6
- return /* @__PURE__ */ c.createElement(
7
- d,
8
- {
9
- ref: s,
10
- id: o,
11
- className: `${m}${t ? ` ${t}` : ""}`,
12
- ...i
13
- },
14
- r
15
- );
16
- }
17
- );
18
- e.displayName = "Heading";
19
- const l = e;
1
+ import { Accordion as c, AccordionItem as m, AccordionTrigger as n, AccordionContent as o } from "./index.es46.js";
2
+ import i from "./index.es6.js";
3
+ import e from "react";
4
+ import s from "./index.es17.js";
5
+ const d = ({ questions: l, type: a }) => /* @__PURE__ */ e.createElement("div", null, /* @__PURE__ */ e.createElement(c, { type: a, collapsible: !0, className: "space-y-3" }, l.map((t, r) => /* @__PURE__ */ e.createElement(m, { key: r, value: `item-${r}` }, /* @__PURE__ */ e.createElement(n, { size: "small" }, t.question), /* @__PURE__ */ e.createElement(o, null, /* @__PURE__ */ e.createElement(s, { html: t.answer }), t.linkToFull && /* @__PURE__ */ e.createElement("div", { className: "pt-6 no-content-rules" }, /* @__PURE__ */ e.createElement(i, { icon: "arrowRight", asChild: !0 }, /* @__PURE__ */ e.createElement("a", { href: t.linkToFull, className: "more-link" }, "Читать полностью")))))))), A = d;
20
6
  export {
21
- l as default
7
+ A as default
22
8
  };
23
9
  //# sourceMappingURL=index.es26.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es26.js","sources":["../src/components/core/typography/Heading.tsx"],"sourcesContent":["import React, { ElementType, ReactNode, forwardRef } from \"react\";\r\n\r\nimport { typeVariants } from \"./typeVariants\";\r\n\r\ninterface HeadingProps {\r\n level: 1 | 2 | 3 | 4 | 5 | 6;\r\n as?: ElementType;\r\n className?: string;\r\n children: ReactNode;\r\n id?: string;\r\n}\r\n\r\nconst Heading = forwardRef<HTMLHeadingElement, HeadingProps>(\r\n ({ level, as, className = \"\", children, id, ...props }, ref) => {\r\n const Component = as || `h${level}`;\r\n const variantClass = typeVariants({ variant: `h${level}` });\r\n\r\n return (\r\n <Component\r\n ref={ref}\r\n id={id}\r\n className={`${variantClass}${className ? ` ${className}` : \"\"}`}\r\n {...props}\r\n >\r\n {children}\r\n </Component>\r\n );\r\n }\r\n);\r\n\r\nHeading.displayName = \"Heading\";\r\n\r\nexport default Heading;\r\n"],"names":["Heading","forwardRef","level","as","className","children","id","props","ref","Component","variantClass","typeVariants","React","Heading$1"],"mappings":";;AAYA,MAAMA,IAAUC;AAAA,EACd,CAAC,EAAE,OAAAC,GAAO,IAAAC,GAAI,WAAAC,IAAY,IAAI,UAAAC,GAAU,IAAAC,GAAI,GAAGC,EAAM,GAAGC,MAAQ;AACxD,UAAAC,IAAYN,KAAM,IAAID,CAAK,IAC3BQ,IAAeC,EAAa,EAAE,SAAS,IAAIT,CAAK,IAAI;AAGxD,WAAAU,gBAAAA,EAAA;AAAA,MAACH;AAAA,MAAA;AAAA,QACC,KAAAD;AAAA,QACA,IAAAF;AAAA,QACA,WAAW,GAAGI,CAAY,GAAGN,IAAY,IAAIA,CAAS,KAAK,EAAE;AAAA,QAC5D,GAAGG;AAAA,MAAA;AAAA,MAEHF;AAAA,IAAA;AAAA,EAGP;AACF;AAEAL,EAAQ,cAAc;AAEtB,MAAAa,IAAeb;"}
1
+ {"version":3,"file":"index.es26.js","sources":["../src/components/cards/FAQ.tsx"],"sourcesContent":["import {\r\n Accordion,\r\n AccordionContent,\r\n AccordionItem,\r\n AccordionTrigger,\r\n} from '../ui/accordion'\r\n\r\nimport { ButtonText } from '../ui/button'\r\nimport React from 'react'\r\nimport SafeHtmlRenderer from '../SafeHtml'\r\n\r\nexport interface FAQItem {\r\n question: string\r\n answer: string\r\n linkToFull?: string\r\n}\r\n\r\nexport interface FAQCardProps {\r\n questions: FAQItem[]\r\n type: 'single' | 'multiple'\r\n}\r\n\r\nconst FAQCard: React.FC<FAQCardProps> = ({ questions, type }) => {\r\n return (\r\n <div>\r\n <Accordion type={type} collapsible className=\"space-y-3\">\r\n {questions.map((question, index) => (\r\n <AccordionItem key={index} value={`item-${index}`}>\r\n <AccordionTrigger size=\"small\">\r\n {question.question}\r\n </AccordionTrigger>\r\n <AccordionContent>\r\n <SafeHtmlRenderer html={question.answer} />\r\n\r\n {question.linkToFull && (\r\n <div className=\"pt-6 no-content-rules\">\r\n <ButtonText icon=\"arrowRight\" asChild>\r\n <a href={question.linkToFull} className=\"more-link\">\r\n Читать полностью\r\n </a>\r\n </ButtonText>\r\n </div>\r\n )}\r\n </AccordionContent>\r\n </AccordionItem>\r\n ))}\r\n </Accordion>\r\n </div>\r\n )\r\n}\r\n\r\nexport default FAQCard\r\n"],"names":["FAQCard","questions","type","React","Accordion","question","index","AccordionItem","AccordionTrigger","AccordionContent","SafeHtmlRenderer","ButtonText","FAQCard$1"],"mappings":";;;;AAsBA,MAAMA,IAAkC,CAAC,EAAE,WAAAC,GAAW,MAAAC,QAEjDC,gBAAAA,EAAA,cAAA,OAAA,MACEA,gBAAAA,EAAA,cAAAC,GAAA,EAAU,MAAAF,GAAY,aAAW,IAAC,WAAU,eAC1CD,EAAU,IAAI,CAACI,GAAUC,MACvBH,gBAAAA,EAAA,cAAAI,GAAA,EAAc,KAAKD,GAAO,OAAO,QAAQA,CAAK,MAC5CH,gBAAAA,EAAA,cAAAK,GAAA,EAAiB,MAAK,QAAA,GACpBH,EAAS,QACZ,GACCF,gBAAAA,EAAA,cAAAM,GAAA,MACEN,gBAAAA,EAAA,cAAAO,GAAA,EAAiB,MAAML,EAAS,OAAQ,CAAA,GAExCA,EAAS,cACPF,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,wBAAA,GACZA,gBAAAA,EAAA,cAAAQ,GAAA,EAAW,MAAK,cAAa,SAAO,GACnC,GAAAR,gBAAAA,EAAA,cAAC,KAAE,EAAA,MAAME,EAAS,YAAY,WAAU,eAAY,kBAEpD,CACF,CACF,CAEJ,CACF,CACD,CACH,CACF,GAIJO,IAAeZ;"}
@@ -1,22 +1,56 @@
1
- import c, { forwardRef as f } from "react";
2
- import { typeVariants as d } from "./index.es44.js";
3
- const e = f(
4
- ({ variant: a = "body", as: o, className: t = "", children: r, ...n }, s) => {
5
- const m = o || "p", p = d({ variant: a });
6
- return /* @__PURE__ */ c.createElement(
7
- m,
8
- {
9
- ref: s,
10
- className: `${p}${t ? ` ${t}` : ""}`,
11
- ...n
1
+ import { Tag as E } from "./index.es20.js";
2
+ import b from "./index.es6.js";
3
+ import s from "./index.es41.js";
4
+ import e from "react";
5
+ import m from "./index.es42.js";
6
+ import { cn as h } from "./index.es49.js";
7
+ import { cva as y } from "class-variance-authority";
8
+ import { getAdapter as N } from "./index.es9.js";
9
+ const g = ({
10
+ size: o,
11
+ tags: l,
12
+ link: n,
13
+ title: c,
14
+ desc: t,
15
+ className: i,
16
+ showDivider: p,
17
+ price: d,
18
+ oldPrice: a,
19
+ detailsText: v
20
+ }) => {
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
+ 4: "sm:col-span-4"
30
+ }
12
31
  },
13
- r
14
- );
15
- }
16
- );
17
- e.displayName = "Text";
18
- const x = e;
32
+ defaultVariants: {
33
+ size: 1
34
+ }
35
+ }
36
+ ), u = N("LinkWrapper");
37
+ return /* @__PURE__ */ e.createElement(u, { href: n, className: h(f({ size: o, className: i })) }, /* @__PURE__ */ e.createElement("div", { "data-test-id": "content-container" }, /* @__PURE__ */ e.createElement("div", { className: "flex space-x-2" }, l.map((r, x) => /* @__PURE__ */ e.createElement(E, { key: x, variant: r.color }, r.title))), /* @__PURE__ */ e.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ e.createElement(s, { level: 5, className: "mt-6 lg:max-w-sm", as: "div" }, c), t && /* @__PURE__ */ e.createElement(
38
+ m,
39
+ {
40
+ variant: "small-body",
41
+ className: "text-navy-opacity-60 lg:max-w-sm"
42
+ },
43
+ t
44
+ ))), /* @__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(
45
+ m,
46
+ {
47
+ variant: "caption",
48
+ className: "text-navy-opacity-40 line-through"
49
+ },
50
+ a
51
+ ), /* @__PURE__ */ e.createElement(s, { level: 4, as: "div" }, d)), /* @__PURE__ */ e.createElement(b, { icon: "arrowRight" }, v || "Подробнее")));
52
+ }, W = g;
19
53
  export {
20
- x as default
54
+ W as default
21
55
  };
22
56
  //# sourceMappingURL=index.es27.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es27.js","sources":["../src/components/core/typography/Text.tsx"],"sourcesContent":["import React, { ElementType, ReactNode, forwardRef } from \"react\";\r\n\r\nimport { typeVariants } from \"./typeVariants\";\r\n\r\ninterface TextProps {\r\n variant?:\r\n | \"factoid\"\r\n | \"subtitle-1\"\r\n | \"subtitle-2\"\r\n | \"overline\"\r\n | \"lead-text\"\r\n | \"body\"\r\n | \"small-body\"\r\n | \"caption\"\r\n | \"button\"\r\n | \"link\";\r\n as?: ElementType;\r\n className?: string;\r\n children: ReactNode;\r\n}\r\n\r\nconst Text = forwardRef<HTMLParagraphElement, TextProps>(\r\n ({ variant = \"body\", as, className = \"\", children, ...props }, ref) => {\r\n const Component = as || \"p\";\r\n const variantClass = typeVariants({ variant });\r\n\r\n return (\r\n <Component\r\n ref={ref}\r\n className={`${variantClass}${className ? ` ${className}` : \"\"}`}\r\n {...props}\r\n >\r\n {children}\r\n </Component>\r\n );\r\n }\r\n);\r\n\r\nText.displayName = \"Text\";\r\n\r\nexport default Text;\r\n"],"names":["Text","forwardRef","variant","as","className","children","props","ref","Component","variantClass","typeVariants","React","Text$1"],"mappings":";;AAqBA,MAAMA,IAAOC;AAAA,EACX,CAAC,EAAE,SAAAC,IAAU,QAAQ,IAAAC,GAAI,WAAAC,IAAY,IAAI,UAAAC,GAAU,GAAGC,EAAM,GAAGC,MAAQ;AACrE,UAAMC,IAAYL,KAAM,KAClBM,IAAeC,EAAa,EAAE,SAAAR,EAAS,CAAA;AAG3C,WAAAS,gBAAAA,EAAA;AAAA,MAACH;AAAA,MAAA;AAAA,QACC,KAAAD;AAAA,QACA,WAAW,GAAGE,CAAY,GAAGL,IAAY,IAAIA,CAAS,KAAK,EAAE;AAAA,QAC5D,GAAGE;AAAA,MAAA;AAAA,MAEHD;AAAA,IAAA;AAAA,EAGP;AACF;AAEAL,EAAK,cAAc;AAEnB,MAAAY,IAAeZ;"}
1
+ {"version":3,"file":"index.es27.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 | 4\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 4: 'sm:col-span-4',\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 lg:max-w-sm\" as={'div'}>\r\n {title}\r\n </Heading>\r\n {desc && (\r\n <Text\r\n variant=\"small-body\"\r\n className=\"text-navy-opacity-60 lg:max-w-sm\"\r\n >\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","React","cn","tag","index","Tag","Heading","Text","ButtonText","FeaturedCard$1"],"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,UACH,GAAG;AAAA,QACL;AAAA,MACF;AAAA,MACA,iBAAiB;AAAA,QACf,MAAM;AAAA,MACR;AAAA,IACF;AAAA,EAAA,GAGIC,IAAcC,EAAW,aAAa;AAG1C,SAAAC,gBAAAA,EAAA,cAACF,GAAY,EAAA,MAAMV,GAAM,WAAWa,EAAGL,EAAW,EAAE,MAAAV,GAAM,WAAAK,EAAW,CAAA,CAAC,KACnES,gBAAAA,EAAA,cAAA,OAAA,EAAI,gBAAa,oBAAA,GACfA,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,iBACZ,GAAAb,EAAK,IAAI,CAACe,GAAKC,sCACbC,GAAI,EAAA,KAAKD,GAAO,SAASD,EAAI,MAAA,GAC3BA,EAAI,KACP,CACD,CACH,GACCF,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,YACb,GAAAA,gBAAAA,EAAA,cAACK,GAAQ,EAAA,OAAO,GAAG,WAAU,oBAAmB,IAAI,MAAA,GACjDhB,CACH,GACCC,KACCU,gBAAAA,EAAA;AAAA,IAACM;AAAA,IAAA;AAAA,MACC,SAAQ;AAAA,MACR,WAAU;AAAA,IAAA;AAAA,IAEThB;AAAA,EAGP,CAAA,CACF,GAECU,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,mCACZR,KAAgBQ,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,kCAAkC,CAAA,mCAChE,OAAI,EAAA,WAAU,mCACZN,KACCM,gBAAAA,EAAA;AAAA,IAACM;AAAA,IAAA;AAAA,MACC,SAAQ;AAAA,MACR,WAAU;AAAA,IAAA;AAAA,IAETZ;AAAA,EAAA,GAGJM,gBAAAA,EAAA,cAAAK,GAAA,EAAQ,OAAO,GAAG,IAAI,MACpB,GAAAZ,CACH,CACF,mCACCc,GAAW,EAAA,MAAK,gBAAcZ,KAAe,WAAY,CAC5D,CACF;AAEJ,GAEAa,IAAevB;"}
@@ -1,94 +1,30 @@
1
- import * as e from "react";
2
- import { FormProvider as f, Controller as F, useFormContext as u } from "react-hook-form";
3
- import { Label as p } from "./index.es15.js";
4
- import { Slot as I } from "@radix-ui/react-slot";
5
- import { cn as a } from "./index.es31.js";
6
- const R = f, c = e.createContext(
7
- {}
8
- ), $ = ({
9
- ...t
10
- }) => /* @__PURE__ */ e.createElement(c.Provider, { value: { name: t.name } }, /* @__PURE__ */ e.createElement(F, { ...t })), i = () => {
11
- const t = e.useContext(c), o = e.useContext(l), { getFieldState: r, formState: m } = u(), n = r(t.name, m);
12
- if (!t)
13
- throw new Error("useFormField should be used within <FormField>");
14
- const { id: s } = o;
15
- return {
16
- id: s,
17
- name: t.name,
18
- formItemId: `${s}-form-item`,
19
- formDescriptionId: `${s}-form-item-description`,
20
- formMessageId: `${s}-form-item-message`,
21
- ...n
22
- };
23
- }, l = e.createContext(
24
- {}
25
- ), x = e.forwardRef(({ className: t, ...o }, r) => {
26
- const m = e.useId();
27
- return /* @__PURE__ */ e.createElement(l.Provider, { value: { id: m } }, /* @__PURE__ */ e.createElement("div", { ref: r, className: a("space-y-2", t), ...o }));
28
- });
29
- x.displayName = "FormItem";
30
- const C = e.forwardRef(({ className: t, ...o }, r) => {
31
- const { error: m, formItemId: n } = i();
32
- return /* @__PURE__ */ e.createElement(
33
- p,
34
- {
35
- ref: r,
36
- className: a(m && "text-destructive", t),
37
- htmlFor: n,
38
- ...o
39
- }
40
- );
41
- });
42
- C.displayName = "FormLabel";
43
- const g = e.forwardRef(({ ...t }, o) => {
44
- const { error: r, formItemId: m, formDescriptionId: n, formMessageId: s } = i();
45
- return /* @__PURE__ */ e.createElement(
46
- I,
47
- {
48
- ref: o,
49
- id: m,
50
- "aria-describedby": r ? `${n} ${s}` : `${n}`,
51
- "aria-invalid": !!r,
52
- ...t
53
- }
54
- );
55
- });
56
- g.displayName = "FormControl";
57
- const v = e.forwardRef(({ className: t, ...o }, r) => {
58
- const { formDescriptionId: m } = i();
59
- return /* @__PURE__ */ e.createElement(
60
- "p",
61
- {
62
- ref: r,
63
- id: m,
64
- className: a("text-sm text-muted-foreground", t),
65
- ...o
66
- }
67
- );
68
- });
69
- v.displayName = "FormDescription";
70
- const E = e.forwardRef(({ className: t, children: o, ...r }, m) => {
71
- const { error: n, formMessageId: s } = i(), d = n ? String(n?.message) : o;
72
- return d ? /* @__PURE__ */ e.createElement(
73
- "p",
74
- {
75
- ref: m,
76
- id: s,
77
- className: a("text-sm font-medium text-destructive", t),
78
- ...r
79
- },
80
- d
81
- ) : null;
82
- });
83
- E.displayName = "FormMessage";
1
+ import { Dialog as r, DialogTrigger as m, DialogContent as c, DialogTitle as s } from "./index.es44.js";
2
+ import i from "./index.es35.js";
3
+ import e from "react";
4
+ import n from "./index.es42.js";
5
+ const o = ({ title: a, date: l, img: t }) => /* @__PURE__ */ e.createElement("div", { "data-test-id": "license-card", className: "bg-whitish rounded-lg" }, l && /* @__PURE__ */ e.createElement(
6
+ i,
7
+ {
8
+ icon: "date",
9
+ label: l,
10
+ className: "p-4 border-b border-navy-opacity-16"
11
+ }
12
+ ), /* @__PURE__ */ e.createElement(r, null, /* @__PURE__ */ e.createElement(m, { asChild: !0 }, /* @__PURE__ */ e.createElement("div", { className: "p-8 gap-4 flex flex-col hover:cursor-pointer" }, /* @__PURE__ */ e.createElement(n, { variant: "small-body" }, a), /* @__PURE__ */ e.createElement("div", { className: "bg-navy-opacity-4 rounded-sm" }, /* @__PURE__ */ e.createElement("div", { className: "relative mx-auto w-1/3 my-4 max-w-32 bg-sapphire" }, /* @__PURE__ */ e.createElement(
13
+ "img",
14
+ {
15
+ src: t,
16
+ alt: a,
17
+ className: "grayscale1 mix-blend-luminosity min-h-[150px] w-full"
18
+ }
19
+ ))))), /* @__PURE__ */ e.createElement(c, { className: "sm:max-w-[480px]" }, /* @__PURE__ */ e.createElement(s, null, a.slice(0, 50).concat("...")), /* @__PURE__ */ e.createElement(
20
+ "img",
21
+ {
22
+ src: t,
23
+ alt: `Изображение для ${a}`,
24
+ className: "max-w-full"
25
+ }
26
+ )))), E = o;
84
27
  export {
85
- R as Form,
86
- g as FormControl,
87
- v as FormDescription,
88
- $ as FormField,
89
- x as FormItem,
90
- C as FormLabel,
91
- E as FormMessage,
92
- i as useFormField
28
+ E as default
93
29
  };
94
30
  //# sourceMappingURL=index.es28.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es28.js","sources":["../src/components/ui/form.tsx"],"sourcesContent":["import * as LabelPrimitive from '@radix-ui/react-label'\nimport * as React from 'react'\n\nimport {\n Controller,\n ControllerProps,\n FieldPath,\n FieldValues,\n FormProvider,\n useFormContext,\n} from 'react-hook-form'\nimport { Label, labelVariants } from '@/components/ui/label'\n\nimport { Slot } from '@radix-ui/react-slot'\nimport { VariantProps } from 'class-variance-authority'\nimport { cn } from '@/lib/utils/cn'\n\nconst Form = FormProvider\n\ntype FormFieldContextValue<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>\n> = {\n name: TName\n}\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>(\n {} as FormFieldContextValue\n)\n\nconst FormField = <\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>\n>({\n ...props\n}: ControllerProps<TFieldValues, TName>) => {\n return (\n <FormFieldContext.Provider value={{ name: props.name }}>\n <Controller {...props} />\n </FormFieldContext.Provider>\n )\n}\n\nconst useFormField = () => {\n const fieldContext = React.useContext(FormFieldContext)\n const itemContext = React.useContext(FormItemContext)\n const { getFieldState, formState } = useFormContext()\n\n const fieldState = getFieldState(fieldContext.name, formState)\n\n if (!fieldContext) {\n throw new Error('useFormField should be used within <FormField>')\n }\n\n const { id } = itemContext\n\n return {\n id,\n name: fieldContext.name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n }\n}\n\ntype FormItemContextValue = {\n id: string\n}\n\nconst FormItemContext = React.createContext<FormItemContextValue>(\n {} as FormItemContextValue\n)\n\nconst FormItem = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => {\n const id = React.useId()\n\n return (\n <FormItemContext.Provider value={{ id }}>\n <div ref={ref} className={cn('space-y-2', className)} {...props} />\n </FormItemContext.Provider>\n )\n})\nFormItem.displayName = 'FormItem'\n\nconst FormLabel = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> &\n VariantProps<typeof labelVariants>\n>(({ className, ...props }, ref) => {\n const { error, formItemId } = useFormField()\n\n return (\n <Label\n ref={ref}\n className={cn(error && 'text-destructive', className)}\n htmlFor={formItemId}\n {...props}\n />\n )\n})\nFormLabel.displayName = 'FormLabel'\n\nconst FormControl = React.forwardRef<\n React.ElementRef<typeof Slot>,\n React.ComponentPropsWithoutRef<typeof Slot>\n>(({ ...props }, ref) => {\n const { error, formItemId, formDescriptionId, formMessageId } = useFormField()\n\n return (\n <Slot\n ref={ref}\n id={formItemId}\n aria-describedby={\n !error\n ? `${formDescriptionId}`\n : `${formDescriptionId} ${formMessageId}`\n }\n aria-invalid={!!error}\n {...props}\n />\n )\n})\nFormControl.displayName = 'FormControl'\n\nconst FormDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => {\n const { formDescriptionId } = useFormField()\n\n return (\n <p\n ref={ref}\n id={formDescriptionId}\n className={cn('text-sm text-muted-foreground', className)}\n {...props}\n />\n )\n})\nFormDescription.displayName = 'FormDescription'\n\nconst FormMessage = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, children, ...props }, ref) => {\n const { error, formMessageId } = useFormField()\n const body = error ? String(error?.message) : children\n\n if (!body) {\n return null\n }\n\n return (\n <p\n ref={ref}\n id={formMessageId}\n className={cn('text-sm font-medium text-destructive', className)}\n {...props}\n >\n {body}\n </p>\n )\n})\nFormMessage.displayName = 'FormMessage'\n\nexport {\n useFormField,\n Form,\n FormItem,\n FormLabel,\n FormControl,\n FormDescription,\n FormMessage,\n FormField,\n}\n"],"names":["Form","FormProvider","FormFieldContext","React","FormField","props","Controller","useFormField","fieldContext","itemContext","FormItemContext","getFieldState","formState","useFormContext","fieldState","id","FormItem","className","ref","cn","FormLabel","error","formItemId","Label","FormControl","formDescriptionId","formMessageId","Slot","FormDescription","FormMessage","children","body"],"mappings":"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"}
1
+ {"version":3,"file":"index.es28.js","sources":["../src/components/cards/License.tsx"],"sourcesContent":["import { Dialog, DialogContent, DialogTitle, DialogTrigger } from '../ui/dialog'\r\n\r\nimport ArticlePreviewTag from '../ArticlePreviewTag'\r\nimport React from 'react'\r\nimport Text from '../core/typography/Text'\r\n\r\nexport interface LicenseCardProps {\r\n title: string\r\n date?: string\r\n img: string\r\n}\r\n\r\nconst LicenseCard: React.FC<LicenseCardProps> = ({ title, date, img }) => {\r\n return (\r\n <div data-test-id=\"license-card\" className=\"bg-whitish rounded-lg\">\r\n {date && (\r\n <ArticlePreviewTag\r\n icon=\"date\"\r\n label={date}\r\n className=\"p-4 border-b border-navy-opacity-16\"\r\n />\r\n )}\r\n\r\n <Dialog>\r\n <DialogTrigger asChild>\r\n <div className=\"p-8 gap-4 flex flex-col hover:cursor-pointer\">\r\n <Text variant=\"small-body\">{title}</Text>\r\n <div className=\"bg-navy-opacity-4 rounded-sm\">\r\n <div className=\"relative mx-auto w-1/3 my-4 max-w-32 bg-sapphire\">\r\n {/* <div\r\n className={`bg-[url('/licenses/license-1.png')] bg-cover w-[130px] h-[180px] bg-no-repeat background-tint mx-auto`}\r\n /> */}\r\n <img\r\n src={img}\r\n alt={title}\r\n className=\"grayscale1 mix-blend-luminosity min-h-[150px] w-full\"\r\n />\r\n {/* <div className=\"absolute top-0 left-0 w-full h-full bg-navy-opacity-401\"></div> */}\r\n </div>\r\n </div>\r\n </div>\r\n </DialogTrigger>\r\n <DialogContent className=\"sm:max-w-[480px]\">\r\n <DialogTitle>{title.slice(0, 50).concat('...')}</DialogTitle>\r\n <img\r\n src={img}\r\n alt={`Изображение для ${title}`}\r\n className=\"max-w-full\"\r\n />\r\n </DialogContent>\r\n </Dialog>\r\n </div>\r\n )\r\n}\r\n\r\nexport default LicenseCard\r\n"],"names":["LicenseCard","title","date","img","React","ArticlePreviewTag","Dialog","DialogTrigger","Text","DialogContent","DialogTitle","LicenseCard$1"],"mappings":";;;;AAYA,MAAMA,IAA0C,CAAC,EAAE,OAAAC,GAAO,MAAAC,GAAM,KAAAC,wCAE3D,OAAI,EAAA,gBAAa,gBAAe,WAAU,2BACxCD,KACCE,gBAAAA,EAAA;AAAA,EAACC;AAAA,EAAA;AAAA,IACC,MAAK;AAAA,IACL,OAAOH;AAAA,IACP,WAAU;AAAA,EAAA;AAAA,GAIbE,gBAAAA,EAAA,cAAAE,GAAA,MACEF,gBAAAA,EAAA,cAAAG,GAAA,EAAc,SAAO,MACpBH,gBAAAA,EAAA,cAAC,OAAI,EAAA,WAAU,+CACb,GAAAA,gBAAAA,EAAA,cAACI,KAAK,SAAQ,gBAAcP,CAAM,GACjCG,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,kCACbA,gBAAAA,EAAA,cAAC,OAAI,EAAA,WAAU,mDAIb,GAAAA,gBAAAA,EAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAKD;AAAA,IACL,KAAKF;AAAA,IACL,WAAU;AAAA,EAAA;AAAA,CAGd,CACF,CACF,CACF,GACAG,gBAAAA,EAAA,cAACK,KAAc,WAAU,sDACtBC,GAAa,MAAAT,EAAM,MAAM,GAAG,EAAE,EAAE,OAAO,KAAK,CAAE,GAC/CG,gBAAAA,EAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAKD;AAAA,IACL,KAAK,mBAAmBF,CAAK;AAAA,IAC7B,WAAU;AAAA,EAAA;AAEd,CAAA,CACF,CACF,GAIJU,IAAeX;"}
@@ -1,93 +1,100 @@
1
- import * as a from "@radix-ui/react-dialog";
2
- import * as e from "react";
3
- import { ScrollArea as i } from "./index.es30.js";
4
- import { X as d } from "lucide-react";
5
- import { cn as l } from "./index.es31.js";
6
- const D = a.Root, v = a.Trigger, c = a.Portal, E = a.Close, n = e.forwardRef(({ className: t, ...o }, s) => /* @__PURE__ */ e.createElement(
7
- a.Overlay,
1
+ import { RateButton as N } from "./index.es32.js";
2
+ import { Tag as b } from "./index.es20.js";
3
+ import { cva as i } from "class-variance-authority";
4
+ import k from "./index.es8.js";
5
+ import d from "./index.es41.js";
6
+ import w from "./index.es16.js";
7
+ import e from "react";
8
+ import f from "./index.es17.js";
9
+ import l from "./index.es42.js";
10
+ import { cn as r } from "./index.es49.js";
11
+ const V = i(
12
+ "group p-6 rounded-lg min-h-[360px] flex flex-col justify-between",
8
13
  {
9
- ref: s,
10
- className: l(
11
- "fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
12
- t
13
- ),
14
- ...o
14
+ variants: {
15
+ variant: {
16
+ default: "text-navy bg-whitish hover1:bg-navy-opacity-4 hover1:text-navy",
17
+ navy: "text-whitish bg-gradient-to-b from-navy to-sapphire hover1:from-sapphire hover1:to-navy"
18
+ }
19
+ },
20
+ defaultVariants: {
21
+ variant: "default"
22
+ }
15
23
  }
16
- ));
17
- n.displayName = a.Overlay.displayName;
18
- const m = e.forwardRef(({ className: t, children: o, ...s }, r) => /* @__PURE__ */ e.createElement(c, null, /* @__PURE__ */ e.createElement(n, null), /* @__PURE__ */ e.createElement(
19
- a.Content,
24
+ ), y = i("", {
25
+ variants: {
26
+ variant: {
27
+ default: "text-navy-opacity-60",
28
+ navy: "text-whitish-opacity-60"
29
+ }
30
+ },
31
+ defaultVariants: {
32
+ variant: "default"
33
+ }
34
+ }), C = i("w-full h-[1px]", {
35
+ variants: {
36
+ variant: {
37
+ default: "bg-grey-1",
38
+ navy: "bg-whitish-opacity-16"
39
+ }
40
+ },
41
+ defaultVariants: {
42
+ variant: "default"
43
+ }
44
+ }), B = ({
45
+ variant: t,
46
+ className: E,
47
+ title: m,
48
+ oldPrice: c,
49
+ price: h,
50
+ priceDesc: s,
51
+ desc: o,
52
+ link: u,
53
+ onClickBuyButton: x,
54
+ buttons: g,
55
+ tags: v,
56
+ titleInformer: p
57
+ }) => /* @__PURE__ */ e.createElement("div", { className: r(V({ variant: t, className: E })) }, /* @__PURE__ */ e.createElement("div", null, v && /* @__PURE__ */ e.createElement("div", { className: "flex space-x-2 mb-6" }, v.map((a, n) => /* @__PURE__ */ e.createElement(b, { key: n, variant: a.color }, a.title))), /* @__PURE__ */ e.createElement("div", { className: "space-y-12 mb-12" }, /* @__PURE__ */ e.createElement("div", { className: "space-y-6" }, /* @__PURE__ */ e.createElement("div", { className: "flex space-x-2 items-center relative" }, /* @__PURE__ */ e.createElement(
58
+ k,
20
59
  {
21
- ref: r,
22
- className: l(
23
- "fixed left-[50%] top-[50%] z-50 grid max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg overflow-hidden max-h-[calc(100dvh-0.75rem)] w-[calc(100dvw-0.75rem)] p-0",
24
- t
25
- ),
26
- ...s
60
+ href: u,
61
+ variant: t === "navy" ? "white" : "navy"
27
62
  },
28
- /* @__PURE__ */ e.createElement(i, { className: "max-h-[calc(100dvh-1rem)]" }, /* @__PURE__ */ e.createElement("div", { className: "p-6" }, o)),
29
- /* @__PURE__ */ e.createElement(a.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground" }, /* @__PURE__ */ e.createElement(d, { className: "h-4 w-4" }), /* @__PURE__ */ e.createElement("span", { className: "sr-only" }, "Close"))
30
- )));
31
- m.displayName = a.Content.displayName;
32
- const f = ({
33
- className: t,
34
- ...o
35
- }) => /* @__PURE__ */ e.createElement(
36
- "div",
63
+ /* @__PURE__ */ e.createElement(d, { level: 4, as: "span" }, m)
64
+ ), p && /* @__PURE__ */ e.createElement(w, { content: p })), /* @__PURE__ */ e.createElement(
65
+ l,
37
66
  {
38
- className: l(
39
- "flex flex-col space-y-1.5 text-center sm:text-left",
40
- t
41
- ),
42
- ...o
43
- }
44
- );
45
- f.displayName = "DialogHeader";
46
- const p = ({
47
- className: t,
48
- ...o
49
- }) => /* @__PURE__ */ e.createElement(
50
- "div",
67
+ variant: "small-body",
68
+ as: "div",
69
+ className: r(y({ variant: t }), "content")
70
+ },
71
+ o && /* @__PURE__ */ e.createElement(f, { html: o })
72
+ )))), /* @__PURE__ */ e.createElement("div", null, /* @__PURE__ */ e.createElement("div", { className: "space-y-6 mb-6" }, /* @__PURE__ */ e.createElement("div", { className: r(C({ variant: t })) }), /* @__PURE__ */ e.createElement("div", { className: "space-y-3" }, /* @__PURE__ */ e.createElement("div", { className: "flex space-x-4 items-baseline" }, c && /* @__PURE__ */ e.createElement(
73
+ l,
51
74
  {
52
- className: l(
53
- "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
54
- t
55
- ),
56
- ...o
57
- }
58
- );
59
- p.displayName = "DialogFooter";
60
- const g = e.forwardRef(({ className: t, ...o }, s) => /* @__PURE__ */ e.createElement(
61
- a.Title,
75
+ variant: "caption",
76
+ className: "text-navy-opacity-40 line-through"
77
+ },
78
+ c
79
+ ), /* @__PURE__ */ e.createElement(d, { level: 5, as: "div" }, h)), s && /* @__PURE__ */ e.createElement(
80
+ l,
62
81
  {
63
- ref: s,
64
- className: l(
65
- "text-lg font-semibold leading-none tracking-tight",
66
- t
67
- ),
68
- ...o
69
- }
70
- ));
71
- g.displayName = a.Title.displayName;
72
- const u = e.forwardRef(({ className: t, ...o }, s) => /* @__PURE__ */ e.createElement(
73
- a.Description,
82
+ variant: "small-body",
83
+ as: "div",
84
+ className: r(y({ variant: t }), "content")
85
+ },
86
+ /* @__PURE__ */ e.createElement(f, { html: s })
87
+ ))), /* @__PURE__ */ e.createElement("div", { className: "w-full gap-2 flex" }, g?.map((a, n) => /* @__PURE__ */ e.createElement(
88
+ N,
74
89
  {
75
- ref: s,
76
- className: l("text-sm text-muted-foreground", t),
77
- ...o
90
+ key: n,
91
+ variant: a.variant,
92
+ title: a.title,
93
+ link: a.link,
94
+ onClick: () => a.isBuyButton && x?.(m)
78
95
  }
79
- ));
80
- u.displayName = a.Description.displayName;
96
+ ))))), q = B;
81
97
  export {
82
- D as Dialog,
83
- E as DialogClose,
84
- m as DialogContent,
85
- u as DialogDescription,
86
- p as DialogFooter,
87
- f as DialogHeader,
88
- n as DialogOverlay,
89
- c as DialogPortal,
90
- g as DialogTitle,
91
- v as DialogTrigger
98
+ q as default
92
99
  };
93
100
  //# sourceMappingURL=index.es29.js.map