@iit/precision-ui 0.5.5 → 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 (144) hide show
  1. package/dist/Adapters.d.ts +1 -0
  2. package/dist/Adapters.d.ts.map +1 -1
  3. package/dist/components/ArticlePreviewTag.d.ts +11 -0
  4. package/dist/components/ArticlePreviewTag.d.ts.map +1 -0
  5. package/dist/components/GridIterator.d.ts +3 -2
  6. package/dist/components/GridIterator.d.ts.map +1 -1
  7. package/dist/components/cards/AdvantageWithAccordion.d.ts +12 -0
  8. package/dist/components/cards/AdvantageWithAccordion.d.ts.map +1 -0
  9. package/dist/components/cards/Connect.d.ts +19 -0
  10. package/dist/components/cards/Connect.d.ts.map +1 -0
  11. package/dist/components/cards/Doc.d.ts +11 -0
  12. package/dist/components/cards/Doc.d.ts.map +1 -0
  13. package/dist/components/cards/FAQ.d.ts +14 -0
  14. package/dist/components/cards/FAQ.d.ts.map +1 -0
  15. package/dist/components/cards/FeaturedCard.d.ts +1 -1
  16. package/dist/components/cards/FeaturedCard.d.ts.map +1 -1
  17. package/dist/components/cards/License.d.ts +10 -0
  18. package/dist/components/cards/License.d.ts.map +1 -0
  19. package/dist/components/cards/Package.d.ts +28 -0
  20. package/dist/components/cards/Package.d.ts.map +1 -0
  21. package/dist/components/pieces/ShowMoreAccordionTrigger.d.ts +8 -0
  22. package/dist/components/pieces/ShowMoreAccordionTrigger.d.ts.map +1 -0
  23. package/dist/components/ui/Link.d.ts +1 -1
  24. package/dist/components/ui/Link.d.ts.map +1 -1
  25. package/dist/components/ui/TagLink.d.ts +14 -0
  26. package/dist/components/ui/TagLink.d.ts.map +1 -0
  27. package/dist/components/ui/accordion.d.ts +15 -0
  28. package/dist/components/ui/accordion.d.ts.map +1 -0
  29. package/dist/components/ui/button/ButtonText.d.ts +1 -0
  30. package/dist/components/ui/button/ButtonText.d.ts.map +1 -1
  31. package/dist/components/ui/carousel.d.ts +5 -1
  32. package/dist/components/ui/carousel.d.ts.map +1 -1
  33. package/dist/components/ui/input/SearchInput.d.ts +1 -0
  34. package/dist/components/ui/input/SearchInput.d.ts.map +1 -1
  35. package/dist/components/ui/tabs.d.ts +8 -0
  36. package/dist/components/ui/tabs.d.ts.map +1 -0
  37. package/dist/decorators/CarouselWrapper.d.ts +3 -2
  38. package/dist/decorators/CarouselWrapper.d.ts.map +1 -1
  39. package/dist/icons/comet.svg +5 -0
  40. package/dist/index.d.ts +23 -2
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.es.js +105 -63
  43. package/dist/index.es.js.map +1 -1
  44. package/dist/index.es10.js +1 -1
  45. package/dist/index.es11.js +1 -1
  46. package/dist/index.es13.js +1 -1
  47. package/dist/index.es15.js +1 -1
  48. package/dist/index.es16.js +2 -2
  49. package/dist/index.es18.js +1 -1
  50. package/dist/index.es19.js +1 -1
  51. package/dist/index.es2.js +1 -1
  52. package/dist/index.es20.js +1 -1
  53. package/dist/index.es21.js +14 -23
  54. package/dist/index.es21.js.map +1 -1
  55. package/dist/index.es22.js +36 -173
  56. package/dist/index.es22.js.map +1 -1
  57. package/dist/index.es23.js +31 -46
  58. package/dist/index.es23.js.map +1 -1
  59. package/dist/index.es24.js +48 -52
  60. package/dist/index.es24.js.map +1 -1
  61. package/dist/index.es25.js +14 -61
  62. package/dist/index.es25.js.map +1 -1
  63. package/dist/index.es26.js +6 -20
  64. package/dist/index.es26.js.map +1 -1
  65. package/dist/index.es27.js +52 -18
  66. package/dist/index.es27.js.map +1 -1
  67. package/dist/index.es28.js +27 -91
  68. package/dist/index.es28.js.map +1 -1
  69. package/dist/index.es29.js +88 -81
  70. package/dist/index.es29.js.map +1 -1
  71. package/dist/index.es3.js +2 -2
  72. package/dist/index.es30.js +54 -31
  73. package/dist/index.es30.js.map +1 -1
  74. package/dist/index.es31.js +92 -6
  75. package/dist/index.es31.js.map +1 -1
  76. package/dist/index.es32.js +97 -21
  77. package/dist/index.es32.js.map +1 -1
  78. package/dist/index.es33.js +12 -19
  79. package/dist/index.es33.js.map +1 -1
  80. package/dist/index.es34.js +43 -18
  81. package/dist/index.es34.js.map +1 -1
  82. package/dist/index.es35.js +23 -10
  83. package/dist/index.es35.js.map +1 -1
  84. package/dist/index.es36.js +26 -83
  85. package/dist/index.es36.js.map +1 -1
  86. package/dist/index.es37.js +207 -16
  87. package/dist/index.es37.js.map +1 -1
  88. package/dist/index.es38.js +47 -41
  89. package/dist/index.es38.js.map +1 -1
  90. package/dist/index.es39.js +53 -40
  91. package/dist/index.es39.js.map +1 -1
  92. package/dist/index.es4.js +1 -1
  93. package/dist/index.es40.js +59 -35
  94. package/dist/index.es40.js.map +1 -1
  95. package/dist/index.es41.js +18 -54
  96. package/dist/index.es41.js.map +1 -1
  97. package/dist/index.es42.js +17 -90
  98. package/dist/index.es42.js.map +1 -1
  99. package/dist/index.es43.js +88 -95
  100. package/dist/index.es43.js.map +1 -1
  101. package/dist/index.es44.js +88 -25
  102. package/dist/index.es44.js.map +1 -1
  103. package/dist/index.es45.js +33 -45
  104. package/dist/index.es45.js.map +1 -1
  105. package/dist/index.es46.js +75 -14
  106. package/dist/index.es46.js.map +1 -1
  107. package/dist/index.es47.js +39 -212
  108. package/dist/index.es47.js.map +1 -1
  109. package/dist/index.es48.js +10 -3
  110. package/dist/index.es48.js.map +1 -1
  111. package/dist/index.es49.js +9 -0
  112. package/dist/index.es49.js.map +1 -0
  113. package/dist/index.es5.js +1 -1
  114. package/dist/index.es50.js +25 -0
  115. package/dist/index.es50.js.map +1 -0
  116. package/dist/index.es51.js +23 -0
  117. package/dist/index.es51.js.map +1 -0
  118. package/dist/index.es52.js +23 -0
  119. package/dist/index.es52.js.map +1 -0
  120. package/dist/index.es53.js +88 -0
  121. package/dist/index.es53.js.map +1 -0
  122. package/dist/index.es54.js +42 -0
  123. package/dist/index.es54.js.map +1 -0
  124. package/dist/index.es55.js +30 -0
  125. package/dist/index.es55.js.map +1 -0
  126. package/dist/index.es56.js +19 -0
  127. package/dist/index.es56.js.map +1 -0
  128. package/dist/index.es57.js +50 -0
  129. package/dist/index.es57.js.map +1 -0
  130. package/dist/index.es58.js +7 -0
  131. package/dist/index.es58.js.map +1 -0
  132. package/dist/index.es59.js +245 -0
  133. package/dist/index.es59.js.map +1 -0
  134. package/dist/index.es6.js +36 -31
  135. package/dist/index.es6.js.map +1 -1
  136. package/dist/index.es7.js +1 -1
  137. package/dist/index.es8.js +11 -10
  138. package/dist/index.es8.js.map +1 -1
  139. package/dist/index.es9.js.map +1 -1
  140. package/dist/sections/CardsGridSection.d.ts +2 -2
  141. package/dist/sections/Hero.d.ts +2 -0
  142. package/dist/sections/Hero.d.ts.map +1 -1
  143. package/dist/styles.css +336 -15
  144. package/package.json +5 -3
@@ -1 +1 @@
1
- {"version":3,"file":"index.es36.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.es36.js","sources":["../src/sections/CTA.tsx"],"sourcesContent":["import { CommonButtonProps } from './common'\r\nimport Heading from '@/components/core/typography/Heading'\r\nimport { HeroButton } from './Hero'\r\nimport React from 'react'\r\nimport SafeHtmlRenderer from '@/components/SafeHtml'\r\nimport Text from '@/components/core/typography/Text'\r\nimport { getAdapter } from '@/Adapters'\r\n\r\nexport interface CTAProps {\r\n title: string\r\n desc: string\r\n img: string\r\n buttons: CommonButtonProps[]\r\n}\r\n\r\nconst CTA: React.FC<CTAProps> = ({ title, desc, img, buttons }) => {\r\n const ImageWrapper = getAdapter('ImageWrapper')\r\n\r\n return (\r\n <section className=\"container\">\r\n <div className=\"mx-auto w-full h-[606px]1 bg-gradient-to-b from-navy to-sapphire text-white rounded-2xl px-6 relative xl:min-h-[500px]\">\r\n <div className=\"space-y-12 relative z-10\">\r\n <div className=\"w-full grid grid-cols-1 lg:grid-cols-2\">\r\n <div></div>\r\n <div className=\"space-y-12 mb-24 mt-[128px] pr-8 lg:pr-8 xl:pr-28\">\r\n <div className=\" space-y-6\">\r\n <Heading level={2}>{title}</Heading>\r\n <Text\r\n variant=\"body\"\r\n className=\"text-whitish-opacity-60\"\r\n as=\"div\"\r\n >\r\n <SafeHtmlRenderer html={desc} />\r\n </Text>\r\n </div>\r\n\r\n <div className=\"flex space-x-4\">\r\n {buttons.map((button, index) => (\r\n <HeroButton key={index} {...button} />\r\n ))}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n {img && (\r\n <div className=\"absolute bottom-0 left-0 z-0\">\r\n <ImageWrapper\r\n src={img}\r\n alt={title}\r\n width={654}\r\n height={570}\r\n objectFit=\"contain\"\r\n />\r\n </div>\r\n )}\r\n </div>\r\n </section>\r\n )\r\n}\r\n\r\nexport default CTA\r\n"],"names":["CTA","title","desc","img","buttons","ImageWrapper","getAdapter","React","Heading","Text","SafeHtmlRenderer","button","index","HeroButton","CTA$1"],"mappings":";;;;;;AAeA,MAAMA,IAA0B,CAAC,EAAE,OAAAC,GAAO,MAAAC,GAAM,KAAAC,GAAK,SAAAC,QAAc;AAC3D,QAAAC,IAAeC,EAAW,cAAc;AAE9C,SACGC,gBAAAA,EAAA,cAAA,WAAA,EAAQ,WAAU,YAAA,mCAChB,OAAI,EAAA,WAAU,4HACbA,gBAAAA,EAAA,cAAC,OAAI,EAAA,WAAU,2BACb,GAAAA,gBAAAA,EAAA,cAAC,SAAI,WAAU,yCAAA,GACZA,gBAAAA,EAAA,cAAA,OAAA,IAAI,GACLA,gBAAAA,EAAA,cAAC,OAAI,EAAA,WAAU,uDACZA,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,aAAA,GACZA,gBAAAA,EAAA,cAAAC,GAAA,EAAQ,OAAO,EAAA,GAAIP,CAAM,GAC1BM,gBAAAA,EAAA;AAAA,IAACE;AAAA,IAAA;AAAA,MACC,SAAQ;AAAA,MACR,WAAU;AAAA,MACV,IAAG;AAAA,IAAA;AAAA,IAEHF,gBAAAA,EAAA,cAACG,GAAiB,EAAA,MAAMR,EAAM,CAAA;AAAA,EAAA,CAElC,GAEAK,gBAAAA,EAAA,cAAC,OAAI,EAAA,WAAU,iBACZ,GAAAH,EAAQ,IAAI,CAACO,GAAQC,MACnBL,gBAAAA,EAAA,cAAAM,GAAA,EAAW,KAAKD,GAAQ,GAAGD,EAAQ,CAAA,CACrC,CACH,CACF,CACF,CACF,GAECR,KACCI,gBAAAA,EAAA,cAAC,OAAI,EAAA,WAAU,+BACb,GAAAA,gBAAAA,EAAA;AAAA,IAACF;AAAA,IAAA;AAAA,MACC,KAAKF;AAAA,MACL,KAAKF;AAAA,MACL,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,WAAU;AAAA,IAAA;AAAA,EAEd,CAAA,CAEJ,CACF;AAEJ,GAEAa,IAAed;"}
@@ -1,22 +1,213 @@
1
- import l from "./index.es26.js";
1
+ import C from "./index.es48.js";
2
+ import u from "./index.es4.js";
3
+ import w from "./index.es41.js";
2
4
  import e from "react";
3
- import o from "./index.es17.js";
4
- import n from "./index.es27.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,
5
+ import V from "./index.es17.js";
6
+ import k from "./index.es53.js";
7
+ import N from "./index.es42.js";
8
+ import { cn as p } from "./index.es49.js";
9
+ import { cva as f } from "class-variance-authority";
10
+ import { getAdapter as H } from "./index.es9.js";
11
+ const j = f("", {
12
+ variants: {
13
+ size: {
14
+ default: "sm:pb-32",
15
+ medium: "sm:pb-[116px]",
16
+ small: "sm:pb-10"
17
+ }
18
+ },
19
+ defaultVariants: {
20
+ size: "default"
21
+ }
22
+ }), W = f("", {
23
+ variants: {
24
+ size: {
25
+ default: "sm:pb-[76px]",
26
+ medium: "sm:pb-6",
27
+ small: "sm:pb-6"
28
+ }
29
+ },
30
+ defaultVariants: {
31
+ size: "default"
32
+ }
33
+ }), B = f("", {
34
+ variants: {
35
+ contentContainerSize: {
36
+ default: "mb-5 lg:max-w-[700px]",
37
+ medium: "lg:max-w-[590px]",
38
+ large: "lg:max-w-5xl"
39
+ // small: "",
40
+ }
41
+ },
42
+ defaultVariants: {
43
+ contentContainerSize: "default"
44
+ }
45
+ }), _ = f("", {
46
+ variants: {
47
+ contentContainerSize: {
48
+ default: "lg:max-w-[460px]",
49
+ medium: "lg:max-w-[370px]",
50
+ large: "lg:max-w-2xl"
51
+ // small: "",
52
+ }
53
+ },
54
+ defaultVariants: {
55
+ contentContainerSize: "default"
56
+ }
57
+ }), y = ({
58
+ text: t,
59
+ href: a,
60
+ target: m,
61
+ anchor: c,
62
+ theme: l,
63
+ className: i,
64
+ linkClassName: o,
65
+ iconDirection: n
66
+ }) => a ? /* @__PURE__ */ e.createElement(
67
+ u,
68
+ {
69
+ href: a,
70
+ theme: l,
71
+ className: i,
72
+ linkClassName: o,
73
+ iconDirection: n
74
+ },
75
+ t
76
+ ) : c ? /* @__PURE__ */ e.createElement(u, { asChild: !0, theme: l, iconDirection: n }, /* @__PURE__ */ e.createElement("a", { href: a }, t)) : m ? /* @__PURE__ */ e.createElement(u, { asChild: !0, theme: l, iconDirection: n }, /* @__PURE__ */ e.createElement("a", { href: a, target: m, rel: "noopener noreferrer" }, t)) : /* @__PURE__ */ e.createElement(u, { theme: l, iconDirection: n }, t), F = (t) => {
77
+ switch (t) {
78
+ case "search-news":
79
+ return /* @__PURE__ */ e.createElement(
80
+ "div",
81
+ {
82
+ "data-test-id": "search-news",
83
+ className: "w-full h-full flex justify-center items-center"
84
+ },
85
+ /* @__PURE__ */ e.createElement(
86
+ k,
87
+ {
88
+ placeholder: "Фильтр по тарифам",
89
+ onChange: (a) => {
90
+ console.log(a.target.value);
91
+ },
92
+ className: "w-[456px]"
93
+ }
94
+ )
95
+ );
96
+ default:
97
+ return null;
98
+ }
99
+ }, I = ({
100
+ title: t,
101
+ contentContainerSize: a,
102
+ desc: m,
103
+ price: c,
104
+ oldPrice: l,
105
+ image: i,
106
+ buttons: o,
107
+ childrenComponentType: n,
108
+ breadcrumbs: h,
109
+ bottomButtons: x,
110
+ size: s = "default",
111
+ imageSize: d,
112
+ linesImage: v
113
+ }) => {
114
+ const E = (r) => {
115
+ switch (r) {
116
+ case "small":
117
+ return 448;
118
+ case "medium":
119
+ return 552;
120
+ default:
121
+ return 664;
122
+ }
123
+ }, b = (r) => {
124
+ switch (r) {
125
+ case "small":
126
+ return 336;
127
+ case "medium":
128
+ return 456;
129
+ default:
130
+ return 544;
131
+ }
132
+ }, g = H("ImageWrapper");
133
+ return /* @__PURE__ */ e.createElement("section", { className: "container relative" }, /* @__PURE__ */ e.createElement("div", { className: "mx-auto w-full h-[606px]1 bg-gradient-to-b from-navy to-sapphire text-white rounded-2xl px-6 relative overflow-hidden" }, /* @__PURE__ */ e.createElement(
134
+ "div",
10
135
  {
11
- src: r,
12
- alt: `Изображение для ${t}`,
13
- width: 32,
14
- height: 32,
15
- className: "object-contain"
136
+ "data-test-id": "content-container",
137
+ className: p(
138
+ "w-full relative z-20 grid grid-cols-1 sm:grid-cols-9 pb-12",
139
+ j({ size: s })
140
+ )
141
+ },
142
+ /* @__PURE__ */ e.createElement("div", { className: "right-divider_with-tongue1 col-span-2 mt-6 pr-4 relative hidden lg:block" }, h && /* @__PURE__ */ e.createElement(C, { list: h })),
143
+ /* @__PURE__ */ e.createElement(
144
+ "div",
145
+ {
146
+ className: p(
147
+ "w-auto sm:p-10 pt-10 sm:pt-32 flex flex-col justify-center items-start col-span-7 border-[1px] border-t-0 border-r-0 border-b-0 border-l-0 lg:border-l-[1px] border-whitish-opacity-16 border-solid pb-4",
148
+ W({ size: s })
149
+ )
150
+ },
151
+ /* @__PURE__ */ e.createElement(
152
+ w,
153
+ {
154
+ level: 1,
155
+ as: "h1",
156
+ className: p("", B({ contentContainerSize: a }))
157
+ },
158
+ /* @__PURE__ */ e.createElement(V, { html: t })
159
+ ),
160
+ /* @__PURE__ */ e.createElement("div", { className: "space-y-10" }, /* @__PURE__ */ e.createElement(
161
+ N,
162
+ {
163
+ variant: "body",
164
+ className: p(
165
+ _({ contentContainerSize: a }),
166
+ "text-whitish-opacity-60 mt-5"
167
+ )
168
+ },
169
+ m
170
+ ), (c || l) && /* @__PURE__ */ e.createElement("div", { className: "flex space-x-5 items-baseline" }, l && /* @__PURE__ */ e.createElement(
171
+ N,
172
+ {
173
+ variant: "lead-text",
174
+ className: "text-whitish-opacity-32 line-through"
175
+ },
176
+ l
177
+ ), /* @__PURE__ */ e.createElement(w, { level: 3, as: "div" }, c)), o && /* @__PURE__ */ e.createElement("div", { className: "flex gap-4 mt-12 w-full" }, o.map((r) => /* @__PURE__ */ e.createElement(y, { key: r.text, ...r })))),
178
+ n && /* @__PURE__ */ e.createElement("div", { className: "mt-5" }, F(n))
179
+ )
180
+ ), x && /* @__PURE__ */ e.createElement("div", { className: "flex gap-4 absolute bottom-8 z-30 w-[96%] mx-auto" }, x.map((r) => /* @__PURE__ */ e.createElement(
181
+ y,
182
+ {
183
+ key: r.text,
184
+ theme: "opacity",
185
+ ...r,
186
+ className: "w-full backdrop-blur-[8px]",
187
+ linkClassName: "w-full"
16
188
  }
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 })));
18
- };
189
+ ))), i && /* @__PURE__ */ e.createElement("div", { className: "hidden sm:block absolute bottom-0 right-6 floating" }, /* @__PURE__ */ e.createElement(
190
+ g,
191
+ {
192
+ src: i,
193
+ alt: t,
194
+ width: E(d || s),
195
+ height: b(d || s),
196
+ objectFit: "contain"
197
+ }
198
+ )), v && /* @__PURE__ */ e.createElement("div", { className: "absolute bottom-0 right-6 fadeLines" }, /* @__PURE__ */ e.createElement(
199
+ g,
200
+ {
201
+ src: v,
202
+ alt: t,
203
+ width: E(d || s),
204
+ height: b(d || s),
205
+ objectFit: "contain"
206
+ }
207
+ ))));
208
+ }, M = I;
19
209
  export {
20
- g as default
210
+ y as HeroButton,
211
+ M as default
21
212
  };
22
213
  //# sourceMappingURL=index.es37.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es37.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.es37.js","sources":["../src/sections/Hero.tsx"],"sourcesContent":["import { BreadcrumbProps, Breadcrumbs } from '@/components/breadcrumbs'\r\n\r\nimport { ButtonPrimary } from '@/components/ui/button'\r\nimport { CommonButtonProps } from './common'\r\nimport Heading from '@/components/core/typography/Heading'\r\nimport React from 'react'\r\nimport SafeHtmlRenderer from '@/components/SafeHtml'\r\nimport SearchInputWithButton from '@/components/ui/input/SearchInputWithButton'\r\nimport Text from '@/components/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\n// import { SearchInput } from '@/components/ui/input'\r\n\r\nconst contentContainerVariants = cva('', {\r\n variants: {\r\n size: {\r\n default: 'sm:pb-32',\r\n medium: 'sm:pb-[116px]',\r\n small: 'sm:pb-10',\r\n },\r\n },\r\n defaultVariants: {\r\n size: 'default',\r\n },\r\n})\r\n\r\nconst sliderContentVariants = cva('', {\r\n variants: {\r\n size: {\r\n default: 'sm:pb-[76px]',\r\n medium: 'sm:pb-6',\r\n small: 'sm:pb-6',\r\n },\r\n },\r\n defaultVariants: {\r\n size: 'default',\r\n },\r\n})\r\n\r\nconst titleVariants = cva('', {\r\n variants: {\r\n contentContainerSize: {\r\n default: 'mb-5 lg:max-w-[700px]',\r\n medium: 'lg:max-w-[590px]',\r\n large: 'lg:max-w-5xl',\r\n // small: \"\",\r\n },\r\n },\r\n defaultVariants: {\r\n contentContainerSize: 'default',\r\n },\r\n})\r\n\r\nconst descVariants = cva('', {\r\n variants: {\r\n contentContainerSize: {\r\n default: 'lg:max-w-[460px]',\r\n medium: 'lg:max-w-[370px]',\r\n large: 'lg:max-w-2xl',\r\n // small: \"\",\r\n },\r\n },\r\n defaultVariants: {\r\n contentContainerSize: 'default',\r\n },\r\n})\r\n\r\nexport interface HeroProps {\r\n title: string\r\n desc?: string\r\n price?: string\r\n oldPrice?: string\r\n image?: string\r\n buttons?: CommonButtonProps[]\r\n childrenComponentType?: 'search-news'\r\n breadcrumbs?: BreadcrumbProps[]\r\n bottomButtons?: CommonButtonProps[]\r\n size?: 'default' | 'small' | 'medium'\r\n contentContainerSize?: 'default' | 'medium' | 'large'\r\n imageSize?: 'default' | 'small' | 'medium'\r\n linesImage?: string\r\n}\r\n\r\nexport const HeroButton: React.FC<CommonButtonProps> = ({\r\n text,\r\n href,\r\n target,\r\n anchor,\r\n theme,\r\n className,\r\n linkClassName,\r\n iconDirection,\r\n}) => {\r\n if (href) {\r\n return (\r\n <ButtonPrimary\r\n href={href}\r\n theme={theme}\r\n className={className}\r\n linkClassName={linkClassName}\r\n iconDirection={iconDirection}\r\n >\r\n {text}\r\n </ButtonPrimary>\r\n )\r\n }\r\n\r\n if (anchor) {\r\n // TODO: the whole button is not clickable, but it should be\r\n return (\r\n <ButtonPrimary asChild theme={theme} iconDirection={iconDirection}>\r\n <a href={href}>{text}</a>\r\n </ButtonPrimary>\r\n )\r\n }\r\n\r\n if (target) {\r\n return (\r\n <ButtonPrimary asChild theme={theme} iconDirection={iconDirection}>\r\n <a href={href} target={target} rel=\"noopener noreferrer\">\r\n {text}\r\n </a>\r\n </ButtonPrimary>\r\n )\r\n }\r\n\r\n return (\r\n <ButtonPrimary theme={theme} iconDirection={iconDirection}>\r\n {text}\r\n </ButtonPrimary>\r\n )\r\n}\r\n\r\nconst childrenComponent = (componentType: 'search-news') => {\r\n switch (componentType) {\r\n case 'search-news':\r\n return (\r\n <div\r\n data-test-id=\"search-news\"\r\n className=\"w-full h-full flex justify-center items-center\"\r\n >\r\n <SearchInputWithButton\r\n placeholder=\"Фильтр по тарифам\"\r\n onChange={(event) => {\r\n console.log(event.target.value)\r\n }}\r\n className=\"w-[456px]\"\r\n // className=\"h-16 w-72 mt-2 bg-whitish\"\r\n />\r\n </div>\r\n )\r\n\r\n default:\r\n return null\r\n }\r\n}\r\n\r\nconst Hero: React.FC<HeroProps> = ({\r\n title,\r\n contentContainerSize,\r\n desc,\r\n price,\r\n oldPrice,\r\n image,\r\n buttons,\r\n childrenComponentType,\r\n breadcrumbs,\r\n bottomButtons,\r\n size = 'default',\r\n imageSize,\r\n linesImage,\r\n}) => {\r\n const imageWidth = (size: 'small' | 'medium' | 'default') => {\r\n switch (size) {\r\n case 'small':\r\n return 448\r\n case 'medium':\r\n return 552\r\n default:\r\n return 664\r\n }\r\n }\r\n const imageHeight = (size: 'small' | 'medium' | 'default') => {\r\n switch (size) {\r\n case 'small':\r\n return 336\r\n case 'medium':\r\n return 456\r\n default:\r\n return 544\r\n }\r\n }\r\n\r\n const ImageWrapper = getAdapter('ImageWrapper')\r\n\r\n return (\r\n <section className=\"container relative\">\r\n <div className=\"mx-auto w-full h-[606px]1 bg-gradient-to-b from-navy to-sapphire text-white rounded-2xl px-6 relative overflow-hidden\">\r\n <div\r\n data-test-id=\"content-container\"\r\n className={cn(\r\n 'w-full relative z-20 grid grid-cols-1 sm:grid-cols-9 pb-12',\r\n contentContainerVariants({ size })\r\n )}\r\n >\r\n {/* Navigation */}\r\n <div className=\"right-divider_with-tongue1 col-span-2 mt-6 pr-4 relative hidden lg:block\">\r\n {breadcrumbs && <Breadcrumbs list={breadcrumbs} />}\r\n </div>\r\n\r\n {/* Slider Content */}\r\n <div\r\n className={cn(\r\n 'w-auto sm:p-10 pt-10 sm:pt-32 flex flex-col justify-center items-start col-span-7 border-[1px] border-t-0 border-r-0 border-b-0 border-l-0 lg:border-l-[1px] border-whitish-opacity-16 border-solid pb-4',\r\n sliderContentVariants({ size })\r\n )}\r\n >\r\n <Heading\r\n level={1}\r\n as={'h1'}\r\n className={cn('', titleVariants({ contentContainerSize }))}\r\n >\r\n <SafeHtmlRenderer html={title} />\r\n </Heading>\r\n\r\n <div className=\"space-y-10\">\r\n <Text\r\n variant=\"body\"\r\n className={cn(\r\n descVariants({ contentContainerSize }),\r\n 'text-whitish-opacity-60 mt-5'\r\n )}\r\n >\r\n {desc}\r\n </Text>\r\n\r\n {(price || oldPrice) && (\r\n <div className=\"flex space-x-5 items-baseline\">\r\n {oldPrice && (\r\n <Text\r\n variant=\"lead-text\"\r\n className=\"text-whitish-opacity-32 line-through\"\r\n >\r\n {oldPrice}\r\n </Text>\r\n )}\r\n <Heading level={3} as={'div'}>\r\n {price}\r\n </Heading>\r\n </div>\r\n )}\r\n\r\n {buttons && (\r\n <div className=\"flex gap-4 mt-12 w-full\">\r\n {buttons.map((button) => (\r\n <HeroButton key={button.text} {...button} />\r\n ))}\r\n </div>\r\n )}\r\n </div>\r\n\r\n {childrenComponentType && (\r\n <div className=\"mt-5\">\r\n {childrenComponent(childrenComponentType)}\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n\r\n {bottomButtons && (\r\n <div className=\"flex gap-4 absolute bottom-8 z-30 w-[96%] mx-auto\">\r\n {bottomButtons.map((button) => (\r\n <HeroButton\r\n key={button.text}\r\n theme=\"opacity\"\r\n {...button}\r\n className=\"w-full backdrop-blur-[8px]\"\r\n linkClassName=\"w-full\"\r\n />\r\n ))}\r\n </div>\r\n )}\r\n\r\n {image && (\r\n <div className=\"hidden sm:block absolute bottom-0 right-6 floating\">\r\n <ImageWrapper\r\n src={image}\r\n alt={title}\r\n // width={size === \"default\" ? 664 : 448}\r\n // height={size === \"default\" ? 544 : 336}\r\n width={imageWidth(imageSize || size)}\r\n height={imageHeight(imageSize || size)}\r\n objectFit=\"contain\"\r\n />\r\n </div>\r\n )}\r\n\r\n {linesImage && (\r\n <div className=\"absolute bottom-0 right-6 fadeLines\">\r\n <ImageWrapper\r\n src={linesImage}\r\n alt={title}\r\n // width={size === \"default\" ? 664 : 448}\r\n // height={size === \"default\" ? 544 : 336}\r\n width={imageWidth(imageSize || size)}\r\n height={imageHeight(imageSize || size)}\r\n objectFit=\"contain\"\r\n />\r\n </div>\r\n )}\r\n </div>\r\n </section>\r\n )\r\n}\r\n\r\nexport default Hero\r\n"],"names":["contentContainerVariants","cva","sliderContentVariants","titleVariants","descVariants","HeroButton","text","href","target","anchor","theme","className","linkClassName","iconDirection","React","ButtonPrimary","childrenComponent","componentType","SearchInputWithButton","event","Hero","title","contentContainerSize","desc","price","oldPrice","image","buttons","childrenComponentType","breadcrumbs","bottomButtons","size","imageSize","linesImage","imageWidth","imageHeight","ImageWrapper","getAdapter","cn","Breadcrumbs","Heading","SafeHtmlRenderer","Text","button","Hero$1"],"mappings":"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"}
@@ -1,49 +1,55 @@
1
- import e, { Fragment as v } from "react";
2
- import { Tag as u } from "./index.es20.js";
3
- import E from "./index.es6.js";
4
- import h from "./index.es26.js";
5
- import g from "./index.es17.js";
6
- import x from "./index.es27.js";
7
- import { cn as N } from "./index.es31.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 i from "./index.es39.js";
2
+ import p from "./index.es41.js";
3
+ import e from "react";
4
+ import r from "./index.es42.js";
5
+ import { getAdapter as d } from "./index.es9.js";
6
+ const g = [
7
+ "/partners/rostelekom.svg",
8
+ "/partners/mts.svg",
9
+ "/partners/uralsib.svg",
10
+ "/partners/sberbank.svg",
11
+ "/partners/rosbank.svg",
12
+ "/partners/pochtabank.svg",
13
+ "/partners/vtb.svg",
14
+ "/partners/alfa.svg",
15
+ "/partners/otkrytie.svg"
16
+ // "МТС",
17
+ // "Уралсиб",
18
+ // "Сбербанк",
19
+ // "Росбанк",
20
+ // "Почта Банк",
21
+ // "ВТБ",
22
+ // "РосБанк",
23
+ // "Открытие",
24
+ ], v = ({
25
+ variant: a,
26
+ withoutTopPadding: s,
27
+ withoutBottomPadding: n,
28
+ withTopMargin: l,
29
+ withBottomMargin: o
16
30
  }) => {
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,
31
+ const m = d("ImageWrapper");
32
+ return /* @__PURE__ */ e.createElement(
33
+ i,
19
34
  {
20
- src: r,
21
- alt: `Изображение для ${t}`,
22
- width: 64,
23
- height: 64
24
- }
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
- )
35
+ title: "",
36
+ variant: a,
37
+ withoutTopPadding: s,
38
+ withoutBottomPadding: n,
39
+ withTopMargin: l,
40
+ withBottomMargin: o
34
41
  },
35
- /* @__PURE__ */ e.createElement("div", null, n),
36
- /* @__PURE__ */ e.createElement(
37
- E,
42
+ /* @__PURE__ */ e.createElement("div", { className: "grid grid-cols-1 sm:auto-rows-[222px] sm:grid-cols-3 lg:grid-cols-6 gap-3 mt-4" }, /* @__PURE__ */ e.createElement("div", { className: "p-6 bg-whitish rounded-lg col-span-1 sm:col-span-3 row-start-1 row-end-3 flex flex-col justify-between" }, /* @__PURE__ */ e.createElement(p, { level: 2 }, "Более 500", " ", /* @__PURE__ */ e.createElement("span", { className: "text-navy-opacity-40" }, "компаний работают с нами")), /* @__PURE__ */ e.createElement(r, { variant: "body", className: "w-[87.5%]" }, "Среди наших клиентов — крупнейшие холдинги, государственные учреждения, финансовые и производственные компании, а также более 50 000 представителей малого и среднего бизнеса.")), g.map((t, c) => /* @__PURE__ */ e.createElement(
43
+ "div",
38
44
  {
39
- icon: "arrowRight",
40
- className: "mt-6"
45
+ key: c,
46
+ className: "rounded-lg border border-solid border-navy-opacity-16 flex align-middle justify-center items-center"
41
47
  },
42
- "Подробнее"
43
- )
44
- ) : /* @__PURE__ */ e.createElement("div", { className: l }, n);
45
- };
48
+ /* @__PURE__ */ e.createElement(m, { src: t, width: 160, height: 64, alt: t })
49
+ )), /* @__PURE__ */ e.createElement("div", { className: "bg-whitish rounded-lg flex items-center justify-center" }, /* @__PURE__ */ e.createElement(r, { variant: "body", className: "text-navy-opacity-40 py-6 sm:py-0" }, "500+")))
50
+ );
51
+ }, x = v;
46
52
  export {
47
- A as default
53
+ x as default
48
54
  };
49
55
  //# sourceMappingURL=index.es38.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es38.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.es38.js","sources":["../src/sections/Partners.tsx"],"sourcesContent":["import Section, { SectionProps } from './Section'\r\n\r\nimport Heading from '@/components/core/typography/Heading'\r\nimport React from 'react'\r\nimport Text from '@/components/core/typography/Text'\r\nimport { getAdapter } from '@/Adapters'\r\n\r\nconst partners = [\r\n '/partners/rostelekom.svg',\r\n '/partners/mts.svg',\r\n '/partners/uralsib.svg',\r\n '/partners/sberbank.svg',\r\n '/partners/rosbank.svg',\r\n '/partners/pochtabank.svg',\r\n '/partners/vtb.svg',\r\n '/partners/alfa.svg',\r\n '/partners/otkrytie.svg',\r\n // \"МТС\",\r\n // \"Уралсиб\",\r\n // \"Сбербанк\",\r\n // \"Росбанк\",\r\n // \"Почта Банк\",\r\n // \"ВТБ\",\r\n // \"РосБанк\",\r\n // \"Открытие\",\r\n]\r\n\r\nexport interface PartnersProps {\r\n variant?: SectionProps['variant']\r\n withoutTopPadding?: boolean\r\n withoutBottomPadding?: boolean\r\n withTopMargin?: boolean\r\n withBottomMargin?: boolean\r\n}\r\n\r\nconst Partners: React.FC<PartnersProps> = ({\r\n variant,\r\n withoutTopPadding,\r\n withoutBottomPadding,\r\n withTopMargin,\r\n withBottomMargin,\r\n}) => {\r\n const ImageWrapper = getAdapter('ImageWrapper')\r\n\r\n return (\r\n <Section\r\n title=\"\"\r\n variant={variant}\r\n withoutTopPadding={withoutTopPadding}\r\n withoutBottomPadding={withoutBottomPadding}\r\n withTopMargin={withTopMargin}\r\n withBottomMargin={withBottomMargin}\r\n >\r\n <div className=\"grid grid-cols-1 sm:auto-rows-[222px] sm:grid-cols-3 lg:grid-cols-6 gap-3 mt-4\">\r\n <div className=\"p-6 bg-whitish rounded-lg col-span-1 sm:col-span-3 row-start-1 row-end-3 flex flex-col justify-between\">\r\n <Heading level={2}>\r\n Более 500{' '}\r\n <span className=\"text-navy-opacity-40\">\r\n компаний работают с нами\r\n </span>\r\n </Heading>\r\n\r\n <Text variant=\"body\" className=\"w-[87.5%]\">\r\n Среди наших клиентов — крупнейшие холдинги, государственные\r\n учреждения, финансовые и производственные компании, а также более 50\r\n 000 представителей малого и среднего бизнеса.\r\n </Text>\r\n </div>\r\n {partners.map((partner, index) => (\r\n <div\r\n key={index}\r\n className=\"rounded-lg border border-solid border-navy-opacity-16 flex align-middle justify-center items-center\"\r\n >\r\n <ImageWrapper src={partner} width={160} height={64} alt={partner} />\r\n </div>\r\n ))}\r\n <div className=\"bg-whitish rounded-lg flex items-center justify-center\">\r\n <Text variant=\"body\" className=\"text-navy-opacity-40 py-6 sm:py-0\">\r\n 500+\r\n </Text>\r\n </div>\r\n </div>\r\n </Section>\r\n )\r\n}\r\n\r\nexport default Partners\r\n"],"names":["partners","Partners","variant","withoutTopPadding","withoutBottomPadding","withTopMargin","withBottomMargin","ImageWrapper","getAdapter","React","Section","Heading","Text","partner","index","Partners$1"],"mappings":";;;;;AAOA,MAAMA,IAAW;AAAA,EACf;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASF,GAUMC,IAAoC,CAAC;AAAA,EACzC,SAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,sBAAAC;AAAA,EACA,eAAAC;AAAA,EACA,kBAAAC;AACF,MAAM;AACE,QAAAC,IAAeC,EAAW,cAAc;AAG5C,SAAAC,gBAAAA,EAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,OAAM;AAAA,MACN,SAAAR;AAAA,MACA,mBAAAC;AAAA,MACA,sBAAAC;AAAA,MACA,eAAAC;AAAA,MACA,kBAAAC;AAAA,IAAA;AAAA,IAECG,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,iFAAA,mCACZ,OAAI,EAAA,WAAU,4GACbA,gBAAAA,EAAA,cAACE,KAAQ,OAAO,KAAG,aACP,qCACT,QAAK,EAAA,WAAU,uBAAuB,GAAA,0BAEvC,CACF,GAECF,gBAAAA,EAAA,cAAAG,GAAA,EAAK,SAAQ,QAAO,WAAU,YAAY,GAAA,gLAI3C,CACF,GACCZ,EAAS,IAAI,CAACa,GAASC,MACtBL,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAKK;AAAA,QACL,WAAU;AAAA,MAAA;AAAA,MAEVL,gBAAAA,EAAA,cAACF,KAAa,KAAKM,GAAS,OAAO,KAAK,QAAQ,IAAI,KAAKA,EAAS,CAAA;AAAA,IAAA,CAErE,GACAJ,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,yDACb,GAAAA,gBAAAA,EAAA,cAACG,GAAK,EAAA,SAAQ,QAAO,WAAU,oCAAoC,GAAA,MAEnE,CACF,CACF;AAAA,EAAA;AAGN,GAEAG,IAAed;"}
@@ -1,48 +1,61 @@
1
- import { Tag as b } from "./index.es20.js";
2
- import h from "./index.es6.js";
3
- import o from "./index.es26.js";
4
1
  import e from "react";
5
- import s from "./index.es27.js";
6
- import { cn as x } from "./index.es31.js";
7
2
  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
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
- }
30
- },
31
- defaultVariants: {
32
- size: 1
33
- }
3
+ import { cn as v } from "./index.es49.js";
4
+ import E from "./index.es41.js";
5
+ import N from "./index.es42.js";
6
+ import b from "./index.es4.js";
7
+ const g = y("space-y-12", {
8
+ variants: {
9
+ variant: {
10
+ default: "py-[120px]",
11
+ muted: "bg-grey-2 py-[88px] px-6"
12
+ },
13
+ corners: {
14
+ default: "rounded-2xl",
15
+ onlyTop: "rounded-t-2xl",
16
+ onlyBottom: "rounded-b-2xl"
34
17
  }
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,
18
+ },
19
+ defaultVariants: {
20
+ variant: "default",
21
+ corners: "default"
22
+ }
23
+ }), B = ({
24
+ title: t,
25
+ sectionId: n,
26
+ desc: a,
27
+ children: l,
28
+ moreLink: r,
29
+ moreText: o = "Подробнее",
30
+ withTopMargin: s = !1,
31
+ withBottomMargin: c = !1,
32
+ withoutTopPadding: m = !1,
33
+ withoutBottomPadding: i = !1,
34
+ variant: f,
35
+ corners: p,
36
+ className: d
37
+ }) => {
38
+ const x = [
39
+ "container",
40
+ s && "mt-6",
41
+ c && "mb-6"
42
+ ].filter(Boolean).map((u) => u).join(" ").trim();
43
+ return /* @__PURE__ */ e.createElement("section", { className: x, id: n }, /* @__PURE__ */ e.createElement(
44
+ "div",
38
45
  {
39
- variant: "caption",
40
- className: "text-navy-opacity-40 line-through"
46
+ className: v(
47
+ g({ variant: f, corners: p }),
48
+ m && "pt-0",
49
+ i && "pb-0",
50
+ d
51
+ )
41
52
  },
42
- a
43
- ), /* @__PURE__ */ e.createElement(o, { level: 4, as: "div" }, d)), /* @__PURE__ */ e.createElement(h, { icon: "arrowRight" }, v || "Подробнее")));
44
- };
53
+ t && /* @__PURE__ */ e.createElement("div", { className: "space-y-4 flex flex-col items-center" }, /* @__PURE__ */ e.createElement(E, { level: 2, className: "text-center max-w-[900px]" }, t), a && /* @__PURE__ */ e.createElement(N, { className: "text-center max-w-6xl" }, a)),
54
+ l,
55
+ r && /* @__PURE__ */ e.createElement("div", { className: "flex justify-center" }, /* @__PURE__ */ e.createElement(b, { href: r }, o))
56
+ ));
57
+ }, h = B;
45
58
  export {
46
- _ as default
59
+ h as default
47
60
  };
48
61
  //# sourceMappingURL=index.es39.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es39.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.es39.js","sources":["../src/sections/Section.tsx"],"sourcesContent":["import React from 'react'\r\nimport { cva, type VariantProps } from 'class-variance-authority'\r\nimport { cn } from '@/lib/utils/cn'\r\nimport Heading from '@/components/core/typography/Heading'\r\nimport Text from '@/components/core/typography/Text'\r\nimport ButtonPrimary from '@/components/ui/button/ButtonPrimary'\r\n\r\nconst sectionVariants = cva('space-y-12', {\r\n variants: {\r\n variant: {\r\n default: 'py-[120px]',\r\n muted: 'bg-grey-2 py-[88px] px-6',\r\n },\r\n corners: {\r\n default: 'rounded-2xl',\r\n onlyTop: 'rounded-t-2xl',\r\n onlyBottom: 'rounded-b-2xl',\r\n },\r\n },\r\n defaultVariants: {\r\n variant: 'default',\r\n corners: 'default',\r\n },\r\n})\r\n\r\nexport interface SectionProps\r\n extends React.HTMLAttributes<HTMLDivElement>,\r\n VariantProps<typeof sectionVariants> {\r\n title: string\r\n sectionId?: string\r\n desc?: string\r\n children?: React.ReactNode\r\n moreLink?: string\r\n moreText?: string\r\n withTopMargin?: boolean\r\n withBottomMargin?: boolean\r\n withoutTopPadding?: boolean\r\n withoutBottomPadding?: boolean\r\n className?: string\r\n}\r\n\r\nconst Section: React.FC<SectionProps> = ({\r\n title,\r\n sectionId,\r\n desc,\r\n children,\r\n moreLink,\r\n moreText = 'Подробнее',\r\n withTopMargin = false,\r\n withBottomMargin = false,\r\n withoutTopPadding = false,\r\n withoutBottomPadding = false,\r\n variant,\r\n corners,\r\n className,\r\n}) => {\r\n const sectionClasses = [\r\n 'container',\r\n withTopMargin && 'mt-6',\r\n withBottomMargin && 'mb-6',\r\n ]\r\n .filter(Boolean)\r\n .map((item) => item)\r\n .join(' ')\r\n .trim()\r\n\r\n return (\r\n <section className={sectionClasses} id={sectionId}>\r\n <div\r\n className={cn(\r\n sectionVariants({ variant, corners }),\r\n withoutTopPadding && 'pt-0',\r\n withoutBottomPadding && 'pb-0',\r\n className\r\n )}\r\n >\r\n {title && (\r\n <div className=\"space-y-4 flex flex-col items-center\">\r\n <Heading level={2} className=\"text-center max-w-[900px]\">\r\n {title}\r\n </Heading>\r\n {desc && <Text className=\"text-center max-w-6xl\">{desc}</Text>}\r\n </div>\r\n )}\r\n {children}\r\n {moreLink && (\r\n <div className=\"flex justify-center\">\r\n <ButtonPrimary href={moreLink}>{moreText}</ButtonPrimary>\r\n </div>\r\n )}\r\n </div>\r\n </section>\r\n )\r\n}\r\n\r\nexport default Section\r\n"],"names":["sectionVariants","cva","Section","title","sectionId","desc","children","moreLink","moreText","withTopMargin","withBottomMargin","withoutTopPadding","withoutBottomPadding","variant","corners","className","sectionClasses","item","React","cn","Heading","Text","ButtonPrimary","Section$1"],"mappings":";;;;;;AAOA,MAAMA,IAAkBC,EAAI,cAAc;AAAA,EACxC,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,MACT,OAAO;AAAA,IACT;AAAA,IACA,SAAS;AAAA,MACP,SAAS;AAAA,MACT,SAAS;AAAA,MACT,YAAY;AAAA,IACd;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,IACT,SAAS;AAAA,EACX;AACF,CAAC,GAkBKC,IAAkC,CAAC;AAAA,EACvC,OAAAC;AAAA,EACA,WAAAC;AAAA,EACA,MAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,eAAAC,IAAgB;AAAA,EAChB,kBAAAC,IAAmB;AAAA,EACnB,mBAAAC,IAAoB;AAAA,EACpB,sBAAAC,IAAuB;AAAA,EACvB,SAAAC;AAAA,EACA,SAAAC;AAAA,EACA,WAAAC;AACF,MAAM;AACJ,QAAMC,IAAiB;AAAA,IACrB;AAAA,IACAP,KAAiB;AAAA,IACjBC,KAAoB;AAAA,EAEnB,EAAA,OAAO,OAAO,EACd,IAAI,CAACO,MAASA,CAAI,EAClB,KAAK,GAAG,EACR,KAAK;AAER,SACGC,gBAAAA,EAAA,cAAA,WAAA,EAAQ,WAAWF,GAAgB,IAAIZ,KACtCc,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACTnB,EAAgB,EAAE,SAAAa,GAAS,SAAAC,GAAS;AAAA,QACpCH,KAAqB;AAAA,QACrBC,KAAwB;AAAA,QACxBG;AAAA,MACF;AAAA,IAAA;AAAA,IAECZ,KACEe,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,uCACb,GAAAA,gBAAAA,EAAA,cAACE,KAAQ,OAAO,GAAG,WAAU,4BAC1B,GAAAjB,CACH,GACCE,KAAQa,gBAAAA,EAAA,cAACG,KAAK,WAAU,wBAAA,GAAyBhB,CAAK,CACzD;AAAA,IAEDC;AAAA,IACAC,KACEW,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,sBAAA,mCACZI,GAAc,EAAA,MAAMf,EAAW,GAAAC,CAAS,CAC3C;AAAA,EAAA,CAGN;AAEJ,GAEAe,IAAerB;"}
package/dist/index.es4.js CHANGED
@@ -2,7 +2,7 @@ import t from "react";
2
2
  import { Button as c } from "./index.es2.js";
3
3
  import { ArrowRight16X16 as u } from "@iit/precision-ui-icons";
4
4
  import { cva as h } from "class-variance-authority";
5
- import { cn as a } from "./index.es31.js";
5
+ import { cn as a } from "./index.es49.js";
6
6
  const p = h(
7
7
  "bg-white text-navy hover:bg-whitish-opacity-80 cursor-pointer",
8
8
  {