@iit/precision-ui 0.1.0 → 0.2.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 (176) hide show
  1. package/dist/Adapters.d.ts +8 -0
  2. package/dist/Adapters.d.ts.map +1 -1
  3. package/dist/components/CarouselDotButton.d.ts +13 -0
  4. package/dist/components/CarouselDotButton.d.ts.map +1 -0
  5. package/dist/components/GridIterator.d.ts +13 -0
  6. package/dist/components/GridIterator.d.ts.map +1 -0
  7. package/dist/components/Informer.d.ts +6 -0
  8. package/dist/components/Informer.d.ts.map +1 -0
  9. package/dist/components/SafeHtml.d.ts +6 -0
  10. package/dist/components/SafeHtml.d.ts.map +1 -0
  11. package/dist/components/breadcrumbs/Breadcrumb.d.ts +9 -0
  12. package/dist/components/breadcrumbs/Breadcrumb.d.ts.map +1 -0
  13. package/dist/components/breadcrumbs/Breadcrumbs.d.ts +9 -0
  14. package/dist/components/breadcrumbs/Breadcrumbs.d.ts.map +1 -0
  15. package/dist/components/breadcrumbs/index.d.ts +5 -0
  16. package/dist/components/breadcrumbs/index.d.ts.map +1 -0
  17. package/dist/components/cards/Advantage.d.ts +10 -0
  18. package/dist/components/cards/Advantage.d.ts.map +1 -0
  19. package/dist/components/cards/Advantage2.d.ts +14 -0
  20. package/dist/components/cards/Advantage2.d.ts.map +1 -0
  21. package/dist/components/cards/FeaturedCard.d.ts +18 -0
  22. package/dist/components/cards/FeaturedCard.d.ts.map +1 -0
  23. package/dist/components/cards/Plate.d.ts +15 -0
  24. package/dist/components/cards/Plate.d.ts.map +1 -0
  25. package/dist/components/cards/Product.d.ts +28 -0
  26. package/dist/components/cards/Product.d.ts.map +1 -0
  27. package/dist/components/cards/Rate.d.ts +35 -0
  28. package/dist/components/cards/Rate.d.ts.map +1 -0
  29. package/dist/components/core/typography/Heading.d.ts +11 -0
  30. package/dist/components/core/typography/Heading.d.ts.map +1 -0
  31. package/dist/components/core/typography/Text.d.ts +11 -0
  32. package/dist/components/core/typography/Text.d.ts.map +1 -0
  33. package/dist/components/core/typography/typeVariants.d.ts +4 -0
  34. package/dist/components/core/typography/typeVariants.d.ts.map +1 -0
  35. package/dist/components/ui/Tag.d.ts +16 -0
  36. package/dist/components/ui/Tag.d.ts.map +1 -0
  37. package/dist/components/ui/alert.d.ts +2 -1
  38. package/dist/components/ui/alert.d.ts.map +1 -1
  39. package/dist/components/ui/button/index.d.ts +8 -0
  40. package/dist/components/ui/button/index.d.ts.map +1 -1
  41. package/dist/components/ui/carousel.d.ts +28 -0
  42. package/dist/components/ui/carousel.d.ts.map +1 -0
  43. package/dist/components/ui/checkbox/CheckboxWithLabel.d.ts +14 -0
  44. package/dist/components/ui/checkbox/CheckboxWithLabel.d.ts.map +1 -0
  45. package/dist/components/ui/checkbox/checkbox.d.ts +12 -0
  46. package/dist/components/ui/checkbox/checkbox.d.ts.map +1 -0
  47. package/dist/components/ui/checkbox/index.d.ts +5 -0
  48. package/dist/components/ui/checkbox/index.d.ts.map +1 -0
  49. package/dist/components/ui/input/Input.d.ts +11 -0
  50. package/dist/components/ui/input/Input.d.ts.map +1 -0
  51. package/dist/components/ui/input/InputWithLabel.d.ts +13 -0
  52. package/dist/components/ui/input/InputWithLabel.d.ts.map +1 -0
  53. package/dist/components/ui/input/SearchInput.d.ts +12 -0
  54. package/dist/components/ui/input/SearchInput.d.ts.map +1 -0
  55. package/dist/components/ui/input/SearchInputWithButton.d.ts +17 -0
  56. package/dist/components/ui/input/SearchInputWithButton.d.ts.map +1 -0
  57. package/dist/components/ui/input/index.d.ts +5 -0
  58. package/dist/components/ui/input/index.d.ts.map +1 -0
  59. package/dist/components/ui/input/types.d.ts +2 -0
  60. package/dist/components/ui/input/types.d.ts.map +1 -0
  61. package/dist/components/ui/label.d.ts +8 -0
  62. package/dist/components/ui/label.d.ts.map +1 -0
  63. package/dist/components/ui/popover.d.ts +7 -0
  64. package/dist/components/ui/popover.d.ts.map +1 -0
  65. package/dist/components/ui/tooltip.d.ts +8 -0
  66. package/dist/components/ui/tooltip.d.ts.map +1 -0
  67. package/dist/decorators/CarouselWrapper.d.ts +10 -0
  68. package/dist/decorators/CarouselWrapper.d.ts.map +1 -0
  69. package/dist/decorators/ImageWrapper.d.ts +11 -0
  70. package/dist/decorators/ImageWrapper.d.ts.map +1 -0
  71. package/dist/index.d.ts +24 -0
  72. package/dist/index.d.ts.map +1 -1
  73. package/dist/index.es.js +40 -12
  74. package/dist/index.es.js.map +1 -1
  75. package/dist/index.es10.js +5 -5
  76. package/dist/index.es10.js.map +1 -1
  77. package/dist/index.es11.js +32 -6
  78. package/dist/index.es11.js.map +1 -1
  79. package/dist/index.es12.js +25 -22
  80. package/dist/index.es12.js.map +1 -1
  81. package/dist/index.es13.js +28 -0
  82. package/dist/index.es13.js.map +1 -0
  83. package/dist/index.es14.js +76 -0
  84. package/dist/index.es14.js.map +1 -0
  85. package/dist/index.es15.js +38 -0
  86. package/dist/index.es15.js.map +1 -0
  87. package/dist/index.es16.js +36 -0
  88. package/dist/index.es16.js.map +1 -0
  89. package/dist/index.es17.js +33 -0
  90. package/dist/index.es17.js.map +1 -0
  91. package/dist/index.es18.js +31 -0
  92. package/dist/index.es18.js.map +1 -0
  93. package/dist/index.es19.js +186 -0
  94. package/dist/index.es19.js.map +1 -0
  95. package/dist/index.es2.js +1 -1
  96. package/dist/index.es20.js +55 -0
  97. package/dist/index.es20.js.map +1 -0
  98. package/dist/index.es21.js +60 -0
  99. package/dist/index.es21.js.map +1 -0
  100. package/dist/index.es22.js +62 -0
  101. package/dist/index.es22.js.map +1 -0
  102. package/dist/index.es23.js +22 -0
  103. package/dist/index.es23.js.map +1 -0
  104. package/dist/index.es24.js +22 -0
  105. package/dist/index.es24.js.map +1 -0
  106. package/dist/index.es25.js +9 -0
  107. package/dist/index.es25.js.map +1 -0
  108. package/dist/index.es26.js +25 -0
  109. package/dist/index.es26.js.map +1 -0
  110. package/dist/index.es27.js +30 -0
  111. package/dist/index.es27.js.map +1 -0
  112. package/dist/index.es28.js +5 -0
  113. package/dist/index.es28.js.map +1 -0
  114. package/dist/index.es29.js +23 -0
  115. package/dist/index.es29.js.map +1 -0
  116. package/dist/index.es3.js +2 -2
  117. package/dist/index.es30.js +23 -0
  118. package/dist/index.es30.js.map +1 -0
  119. package/dist/index.es31.js +14 -0
  120. package/dist/index.es31.js.map +1 -0
  121. package/dist/index.es32.js +88 -0
  122. package/dist/index.es32.js.map +1 -0
  123. package/dist/index.es33.js +22 -0
  124. package/dist/index.es33.js.map +1 -0
  125. package/dist/index.es34.js +49 -0
  126. package/dist/index.es34.js.map +1 -0
  127. package/dist/index.es35.js +48 -0
  128. package/dist/index.es35.js.map +1 -0
  129. package/dist/index.es36.js +40 -0
  130. package/dist/index.es36.js.map +1 -0
  131. package/dist/index.es37.js +59 -0
  132. package/dist/index.es37.js.map +1 -0
  133. package/dist/index.es38.js +95 -0
  134. package/dist/index.es38.js.map +1 -0
  135. package/dist/index.es39.js +101 -0
  136. package/dist/index.es39.js.map +1 -0
  137. package/dist/index.es4.js +1 -1
  138. package/dist/index.es40.js +30 -0
  139. package/dist/index.es40.js.map +1 -0
  140. package/dist/index.es41.js +19 -0
  141. package/dist/index.es41.js.map +1 -0
  142. package/dist/index.es42.js +7 -0
  143. package/dist/index.es42.js.map +1 -0
  144. package/dist/index.es5.js +1 -1
  145. package/dist/index.es6.js +1 -1
  146. package/dist/index.es7.js +1 -1
  147. package/dist/index.es8.js +1 -1
  148. package/dist/index.es9.js.map +1 -1
  149. package/dist/lib/utils/truncateText.d.ts +3 -0
  150. package/dist/lib/utils/truncateText.d.ts.map +1 -0
  151. package/dist/partners/alfa.svg +3 -0
  152. package/dist/partners/mts.svg +6 -0
  153. package/dist/partners/otkrytie.svg +8 -0
  154. package/dist/partners/pochtabank.svg +11 -0
  155. package/dist/partners/rosbank.svg +10 -0
  156. package/dist/partners/rostelekom.svg +7 -0
  157. package/dist/partners/sberbank.svg +33 -0
  158. package/dist/partners/uralsib.svg +12 -0
  159. package/dist/partners/vtb.svg +16 -0
  160. package/dist/sections/CTA.d.ts +12 -0
  161. package/dist/sections/CTA.d.ts.map +1 -0
  162. package/dist/sections/CardsGridSection.d.ts +21 -0
  163. package/dist/sections/CardsGridSection.d.ts.map +1 -0
  164. package/dist/sections/Hero.d.ts +21 -0
  165. package/dist/sections/Hero.d.ts.map +1 -0
  166. package/dist/sections/Partners.d.ts +13 -0
  167. package/dist/sections/Partners.d.ts.map +1 -0
  168. package/dist/sections/Section.d.ts +22 -0
  169. package/dist/sections/Section.d.ts.map +1 -0
  170. package/dist/sections/common.d.ts +14 -0
  171. package/dist/sections/common.d.ts.map +1 -0
  172. package/dist/slides/crossed-circles.svg +59 -0
  173. package/dist/styles.css +2250 -730
  174. package/dist/utils/unique.d.ts +2 -0
  175. package/dist/utils/unique.d.ts.map +1 -0
  176. package/package.json +110 -101
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es18.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;"}
@@ -0,0 +1,186 @@
1
+ import N from "./index.es31.js";
2
+ import d from "./index.es4.js";
3
+ import v from "./index.es23.js";
4
+ import e from "react";
5
+ import y from "./index.es14.js";
6
+ import C from "./index.es32.js";
7
+ import x from "./index.es24.js";
8
+ import { cn as u } from "./index.es25.js";
9
+ import { cva as p } from "class-variance-authority";
10
+ import { getAdapter as H } from "./index.es9.js";
11
+ const V = p("", {
12
+ variants: {
13
+ size: {
14
+ default: "pb-32",
15
+ medium: "pb-[116px]",
16
+ small: "pb-10"
17
+ }
18
+ },
19
+ defaultVariants: {
20
+ size: "default"
21
+ }
22
+ }), k = p("", {
23
+ variants: {
24
+ size: {
25
+ default: "pb-[76px]",
26
+ medium: "pb-6",
27
+ small: "pb-6"
28
+ }
29
+ },
30
+ defaultVariants: {
31
+ size: "default"
32
+ }
33
+ }), W = p("", {
34
+ variants: {
35
+ size: {
36
+ default: "mb-5",
37
+ medium: "",
38
+ small: ""
39
+ }
40
+ },
41
+ defaultVariants: {
42
+ size: "default"
43
+ }
44
+ }), E = ({
45
+ text: t,
46
+ href: r,
47
+ target: n,
48
+ anchor: i,
49
+ theme: l,
50
+ className: c,
51
+ linkClassName: o,
52
+ iconDirection: m
53
+ }) => r ? /* @__PURE__ */ e.createElement(
54
+ d,
55
+ {
56
+ href: r,
57
+ theme: l,
58
+ className: c,
59
+ linkClassName: o,
60
+ iconDirection: m
61
+ },
62
+ t
63
+ ) : i ? /* @__PURE__ */ e.createElement(d, { asChild: !0, theme: l, iconDirection: m }, /* @__PURE__ */ e.createElement("a", { href: r }, t)) : n ? /* @__PURE__ */ e.createElement(d, { asChild: !0, theme: l, iconDirection: m }, /* @__PURE__ */ e.createElement("a", { href: r, target: n, rel: "noopener noreferrer" }, t)) : /* @__PURE__ */ e.createElement(d, { theme: l, iconDirection: m }, t), j = (t) => {
64
+ switch (t) {
65
+ case "search-news":
66
+ return /* @__PURE__ */ e.createElement(
67
+ "div",
68
+ {
69
+ "data-test-id": "search-news",
70
+ className: "w-full h-full flex justify-center items-center"
71
+ },
72
+ /* @__PURE__ */ e.createElement(
73
+ C,
74
+ {
75
+ placeholder: "Фильтр по тарифам",
76
+ onChange: (r) => {
77
+ console.log(r.target.value);
78
+ },
79
+ className: "w-[456px]"
80
+ }
81
+ )
82
+ );
83
+ default:
84
+ return null;
85
+ }
86
+ }, B = ({
87
+ title: t,
88
+ desc: r,
89
+ price: n,
90
+ oldPrice: i,
91
+ image: l,
92
+ buttons: c,
93
+ childrenComponentType: o,
94
+ breadcrumbs: m,
95
+ bottomButtons: f,
96
+ size: s = "default",
97
+ imageSize: h
98
+ }) => {
99
+ const w = (a) => {
100
+ switch (a) {
101
+ case "small":
102
+ return 448;
103
+ case "medium":
104
+ return 552;
105
+ default:
106
+ return 664;
107
+ }
108
+ }, b = (a) => {
109
+ switch (a) {
110
+ case "small":
111
+ return 336;
112
+ case "medium":
113
+ return 456;
114
+ default:
115
+ return 544;
116
+ }
117
+ }, g = H("ImageWrapper");
118
+ 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(
119
+ "div",
120
+ {
121
+ "data-test-id": "content-container",
122
+ className: u(
123
+ "w-full relative z-20 grid grid-cols-1 sm:grid-cols-9 pb-32",
124
+ V({ size: s })
125
+ )
126
+ },
127
+ /* @__PURE__ */ e.createElement("div", { className: "right-divider_with-tongue1 col-span-2 mt-6 pr-4 relative" }, m && /* @__PURE__ */ e.createElement(N, { list: m })),
128
+ /* @__PURE__ */ e.createElement(
129
+ "div",
130
+ {
131
+ className: u(
132
+ "w-auto p-10 pt-32 flex flex-col justify-center items-start max-w-[800px] col-span-7 border-[1px] border-t-0 border-r-0 border-b-0 border-whitish-opacity-16 border-solid",
133
+ k({ size: s })
134
+ )
135
+ },
136
+ /* @__PURE__ */ e.createElement(
137
+ v,
138
+ {
139
+ level: 1,
140
+ as: "h1",
141
+ className: u("max-w-[694px]", W({ size: s }))
142
+ },
143
+ /* @__PURE__ */ e.createElement(y, { html: t })
144
+ ),
145
+ /* @__PURE__ */ e.createElement("div", { className: "space-y-10" }, /* @__PURE__ */ e.createElement(
146
+ x,
147
+ {
148
+ variant: "body",
149
+ className: `text-whitish-opacity-60 max-w-[460px] ${s === "medium" ? "mt-5" : ""}`
150
+ },
151
+ r
152
+ ), (n || i) && /* @__PURE__ */ e.createElement("div", { className: "flex space-x-5 items-baseline" }, i && /* @__PURE__ */ e.createElement(
153
+ x,
154
+ {
155
+ variant: "lead-text",
156
+ className: "text-whitish-opacity-32 line-through"
157
+ },
158
+ i
159
+ ), /* @__PURE__ */ e.createElement(v, { level: 3, as: "div" }, n)), c && /* @__PURE__ */ e.createElement("div", { className: "flex gap-4 mt-12" }, c.map((a) => /* @__PURE__ */ e.createElement(E, { key: a.text, ...a })))),
160
+ o && /* @__PURE__ */ e.createElement("div", { className: "mt-5" }, j(o))
161
+ )
162
+ ), f && /* @__PURE__ */ e.createElement("div", { className: "flex gap-4 absolute bottom-8 z-30 w-[96%] mx-auto" }, f.map((a) => /* @__PURE__ */ e.createElement(
163
+ E,
164
+ {
165
+ key: a.text,
166
+ theme: "opacity",
167
+ ...a,
168
+ className: "w-full backdrop-blur-[8px]",
169
+ linkClassName: "w-full"
170
+ }
171
+ ))), l && /* @__PURE__ */ e.createElement("div", { className: "absolute bottom-0 right-6 floating" }, /* @__PURE__ */ e.createElement(
172
+ g,
173
+ {
174
+ src: l,
175
+ alt: t,
176
+ width: w(h || s),
177
+ height: b(h || s),
178
+ objectFit: "contain"
179
+ }
180
+ ))));
181
+ }, J = B;
182
+ export {
183
+ E as HeroButton,
184
+ J as default
185
+ };
186
+ //# sourceMappingURL=index.es19.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es19.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: 'pb-32',\r\n medium: 'pb-[116px]',\r\n small: '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: 'pb-[76px]',\r\n medium: 'pb-6',\r\n small: '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 size: {\r\n default: 'mb-5',\r\n medium: '',\r\n small: '',\r\n },\r\n },\r\n defaultVariants: {\r\n size: '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 imageSize?: 'default' | 'small' | 'medium'\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 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}) => {\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-32',\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\">\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 p-10 pt-32 flex flex-col justify-center items-start max-w-[800px] col-span-7 border-[1px] border-t-0 border-r-0 border-b-0 border-whitish-opacity-16 border-solid',\r\n sliderContentVariants({ size })\r\n )}\r\n >\r\n <Heading\r\n level={1}\r\n as={'h1'}\r\n className={cn('max-w-[694px]', titleVariants({ size }))}\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={`text-whitish-opacity-60 max-w-[460px] ${\r\n size === 'medium' ? '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\">\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=\"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 </div>\r\n </section>\r\n )\r\n}\r\n\r\nexport default Hero\r\n"],"names":["contentContainerVariants","cva","sliderContentVariants","titleVariants","HeroButton","text","href","target","anchor","theme","className","linkClassName","iconDirection","React","ButtonPrimary","childrenComponent","componentType","SearchInputWithButton","event","Hero","title","desc","price","oldPrice","image","buttons","childrenComponentType","breadcrumbs","bottomButtons","size","imageSize","imageWidth","imageHeight","ImageWrapper","getAdapter","cn","Breadcrumbs","Heading","SafeHtmlRenderer","Text","button","Hero$1"],"mappings":"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"}
package/dist/index.es2.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import e from "react";
2
2
  import { Slot as d } from "@radix-ui/react-slot";
3
3
  import { cva as c } from "class-variance-authority";
4
- import { cn as u } from "./index.es11.js";
4
+ import { cn as u } from "./index.es25.js";
5
5
  const l = c(
6
6
  "inline-flex items-center justify-center whitespace-nowrap rounded-full typo_variant_button ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 disabled:cursor-not-allowed border-none",
7
7
  {
@@ -0,0 +1,55 @@
1
+ import i from "./index.es21.js";
2
+ import p from "./index.es23.js";
3
+ import e from "react";
4
+ import r from "./index.es24.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
30
+ }) => {
31
+ const c = d("ImageWrapper");
32
+ return /* @__PURE__ */ e.createElement(
33
+ i,
34
+ {
35
+ title: "",
36
+ variant: a,
37
+ withoutTopPadding: s,
38
+ withoutBottomPadding: n,
39
+ withTopMargin: l,
40
+ withBottomMargin: o
41
+ },
42
+ /* @__PURE__ */ e.createElement("div", { className: "grid grid-cols-2 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-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, m) => /* @__PURE__ */ e.createElement(
43
+ "div",
44
+ {
45
+ key: m,
46
+ className: "rounded-lg border border-navy-opacity-16 flex align-middle justify-center"
47
+ },
48
+ /* @__PURE__ */ e.createElement(c, { 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" }, "500+")))
50
+ );
51
+ }, x = v;
52
+ export {
53
+ x as default
54
+ };
55
+ //# sourceMappingURL=index.es20.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es20.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-2 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-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-navy-opacity-16 flex align-middle justify-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\">\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,8EAAA,mCACZ,OAAI,EAAA,WAAU,8FACbA,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,uBAAuB,GAAA,MAEtD,CACF,CACF;AAAA,EAAA;AAGN,GAEAG,IAAed;"}
@@ -0,0 +1,60 @@
1
+ import e from "react";
2
+ import { cva as u } from "class-variance-authority";
3
+ import { cn as y } from "./index.es25.js";
4
+ import v from "./index.es23.js";
5
+ import E from "./index.es24.js";
6
+ import N from "./index.es4.js";
7
+ const b = u("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"
17
+ }
18
+ },
19
+ defaultVariants: {
20
+ variant: "default",
21
+ corners: "default"
22
+ }
23
+ }), g = ({
24
+ title: t,
25
+ desc: a,
26
+ children: n,
27
+ moreLink: r,
28
+ moreText: l = "Подробнее",
29
+ withTopMargin: o = !1,
30
+ withBottomMargin: s = !1,
31
+ withoutTopPadding: c = !1,
32
+ withoutBottomPadding: m = !1,
33
+ variant: i,
34
+ corners: f,
35
+ className: p
36
+ }) => {
37
+ const d = [
38
+ "container",
39
+ o && "mt-6",
40
+ s && "mb-6"
41
+ ].filter(Boolean).map((x) => x).join(" ").trim();
42
+ return /* @__PURE__ */ e.createElement("section", { className: d }, /* @__PURE__ */ e.createElement(
43
+ "div",
44
+ {
45
+ className: y(
46
+ b({ variant: i, corners: f }),
47
+ c && "pt-0",
48
+ m && "pb-0",
49
+ p
50
+ )
51
+ },
52
+ t && /* @__PURE__ */ e.createElement("div", { className: "space-y-4 flex flex-col items-center" }, /* @__PURE__ */ e.createElement(v, { level: 2, className: "text-center max-w-[900px]" }, t), a && /* @__PURE__ */ e.createElement(E, { className: "text-center max-w-6xl" }, a)),
53
+ n,
54
+ r && /* @__PURE__ */ e.createElement("div", { className: "flex justify-center" }, /* @__PURE__ */ e.createElement(N, { href: r }, l))
55
+ ));
56
+ }, _ = g;
57
+ export {
58
+ _ as default
59
+ };
60
+ //# sourceMappingURL=index.es21.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es21.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 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 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}>\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","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,GAiBKC,IAAkC,CAAC;AAAA,EACvC,OAAAC;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;AAGN,SAAAC,gBAAAA,EAAA,cAAC,WAAQ,EAAA,WAAWF,EAClB,GAAAE,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACTlB,EAAgB,EAAE,SAAAY,GAAS,SAAAC,GAAS;AAAA,QACpCH,KAAqB;AAAA,QACrBC,KAAwB;AAAA,QACxBG;AAAA,MACF;AAAA,IAAA;AAAA,IAECX,KACEc,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,uCACb,GAAAA,gBAAAA,EAAA,cAACE,KAAQ,OAAO,GAAG,WAAU,4BAC1B,GAAAhB,CACH,GACCC,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,IAAepB;"}
@@ -0,0 +1,62 @@
1
+ import A from "./index.es21.js";
2
+ import e from "./index.es33.js";
3
+ import E from "./index.es34.js";
4
+ import G from "./index.es35.js";
5
+ import R from "./index.es36.js";
6
+ import S from "./index.es37.js";
7
+ import I from "./index.es38.js";
8
+ import _ from "./index.es39.js";
9
+ import t from "react";
10
+ const k = {
11
+ Advantage: e,
12
+ Advantage2: E,
13
+ Rate: _,
14
+ Product: I,
15
+ FeaturedCard: G,
16
+ Plate: S
17
+ }, x = ({
18
+ title: r,
19
+ desc: o,
20
+ items: a,
21
+ component: m = "Advantage",
22
+ withoutTopPadding: n = !1,
23
+ withTopMargin: d = !1,
24
+ withBottomMargin: f = !1,
25
+ withoutBottomPadding: i = !1,
26
+ variant: c,
27
+ corners: p,
28
+ columns: l,
29
+ showControlsOnDesktop: s,
30
+ withoutCarousel: C,
31
+ footnote: u
32
+ }) => {
33
+ const P = k[m] || e;
34
+ return /* @__PURE__ */ t.createElement(
35
+ A,
36
+ {
37
+ title: r,
38
+ desc: o,
39
+ variant: c,
40
+ corners: p,
41
+ withoutTopPadding: n,
42
+ withTopMargin: d,
43
+ withBottomMargin: f,
44
+ withoutBottomPadding: i
45
+ },
46
+ /* @__PURE__ */ t.createElement(
47
+ R,
48
+ {
49
+ items: a,
50
+ columns: l,
51
+ showControlsOnDesktop: s,
52
+ withoutCarousel: C,
53
+ renderItem: (g, v) => /* @__PURE__ */ t.createElement(P, { key: v, ...g }),
54
+ footnote: u
55
+ }
56
+ )
57
+ );
58
+ }, z = x;
59
+ export {
60
+ z as default
61
+ };
62
+ //# sourceMappingURL=index.es22.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es22.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 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 showControlsOnDesktop?: boolean\r\n withoutCarousel?: boolean\r\n footnote?: string\r\n}\r\n\r\nconst CardsGridSection = <T,>({\r\n title,\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 showControlsOnDesktop,\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 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 showControlsOnDesktop={showControlsOnDesktop}\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","desc","items","component","withoutTopPadding","withTopMargin","withBottomMargin","withoutBottomPadding","variant","corners","columns","showControlsOnDesktop","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,GAmBMC,IAAmB,CAAK;AAAA,EAC5B,OAAAC;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,IAAYtB,EAAaW,CAAS,KAAKV;AAG3C,SAAAsB,gBAAAA,EAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,OAAAhB;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,IAAerB;"}
@@ -0,0 +1,22 @@
1
+ import m, { forwardRef as c } from "react";
2
+ import { typeVariants as f } from "./index.es40.js";
3
+ const e = c(
4
+ ({ level: a, as: n, className: t = "", children: r, ...o }, i) => {
5
+ const s = n || `h${a}`, d = f({ variant: `h${a}` });
6
+ return /* @__PURE__ */ m.createElement(
7
+ s,
8
+ {
9
+ ref: i,
10
+ className: `${d}${t ? ` ${t}` : ""}`,
11
+ ...o
12
+ },
13
+ r
14
+ );
15
+ }
16
+ );
17
+ e.displayName = "Heading";
18
+ const g = e;
19
+ export {
20
+ g as default
21
+ };
22
+ //# sourceMappingURL=index.es23.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es23.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}\r\n\r\nconst Heading = forwardRef<HTMLHeadingElement, HeadingProps>(\r\n ({ level, as, className = \"\", children, ...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 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","props","ref","Component","variantClass","typeVariants","React","Heading$1"],"mappings":";;AAWA,MAAMA,IAAUC;AAAA,EACd,CAAC,EAAE,OAAAC,GAAO,IAAAC,GAAI,WAAAC,IAAY,IAAI,UAAAC,GAAU,GAAGC,EAAM,GAAGC,MAAQ;AACpD,UAAAC,IAAYL,KAAM,IAAID,CAAK,IAC3BO,IAAeC,EAAa,EAAE,SAAS,IAAIR,CAAK,IAAI;AAGxD,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,EAAQ,cAAc;AAEtB,MAAAY,IAAeZ;"}
@@ -0,0 +1,22 @@
1
+ import c, { forwardRef as f } from "react";
2
+ import { typeVariants as d } from "./index.es40.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
12
+ },
13
+ r
14
+ );
15
+ }
16
+ );
17
+ e.displayName = "Text";
18
+ const x = e;
19
+ export {
20
+ x as default
21
+ };
22
+ //# sourceMappingURL=index.es24.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es24.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;"}
@@ -0,0 +1,9 @@
1
+ import { clsx as o } from "clsx";
2
+ import { twMerge as t } from "tailwind-merge";
3
+ function n(...r) {
4
+ return t(o(r));
5
+ }
6
+ export {
7
+ n as cn
8
+ };
9
+ //# sourceMappingURL=index.es25.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es25.js","sources":["../src/lib/utils/cn.ts"],"sourcesContent":["import { type ClassValue, clsx } from 'clsx'\r\nimport { twMerge } from 'tailwind-merge'\r\n\r\nexport function cn(...inputs: ClassValue[]) {\r\n return twMerge(clsx(inputs))\r\n}\r\n"],"names":["cn","inputs","twMerge","clsx"],"mappings":";;AAGO,SAASA,KAAMC,GAAsB;AACnC,SAAAC,EAAQC,EAAKF,CAAM,CAAC;AAC7B;"}
@@ -0,0 +1,25 @@
1
+ import { ArrowSliderPrev16X16 as s, ArrowSliderNext16X16 as m, MoreLink16X16 as l, LessLink16X16 as u } from "@iit/precision-ui-icons";
2
+ import { ThumbsUp as f, ThumbsDown as p } from "lucide-react";
3
+ import o from "react";
4
+ const i = "1em", a = (e) => Object.keys(e).reduce((r, t) => (r[t] = ({
5
+ width: n = i,
6
+ height: c = i
7
+ }) => o.createElement(e[t], { width: n, height: c }), r), {}), d = {
8
+ chevronLeft: s,
9
+ chevronRight: m,
10
+ plus: l,
11
+ minus: u,
12
+ like: f,
13
+ dislike: p
14
+ }, h = a(d), I = (e, r, t) => {
15
+ if (e) {
16
+ const n = h[e];
17
+ if (n)
18
+ return n({ width: r, height: t });
19
+ }
20
+ return /* @__PURE__ */ o.createElement(o.Fragment, null);
21
+ };
22
+ export {
23
+ I as iconDefiner
24
+ };
25
+ //# sourceMappingURL=index.es26.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es26.js","sources":["../src/components/ui/icon.tsx"],"sourcesContent":["import {\r\n ArrowSliderNext16X16,\r\n ArrowSliderPrev16X16,\r\n LessLink16X16,\r\n MoreLink16X16,\r\n} from '@iit/precision-ui-icons'\r\nimport { ThumbsDown, ThumbsUp } from 'lucide-react'\r\n\r\nimport React from 'react'\r\n\r\nconst DEFAULT_ICON_SIZE = '1em'\r\n\r\nexport type IconName =\r\n | 'chevronLeft'\r\n | 'chevronRight'\r\n | 'plus'\r\n | 'minus'\r\n | 'like'\r\n | 'dislike'\r\n\r\n// TODO: move to separate file\r\n// type IconMap = {\r\n// [key in IconName]: (props: {\r\n// width?: number | string\r\n// height?: number | string\r\n// }) => React.ReactElement\r\n// }\r\n\r\ninterface IconProps {\r\n width?: number | string\r\n height?: number | string\r\n}\r\n\r\nconst generateIconMap = (\r\n icons: Record<IconName, React.ComponentType<React.SVGProps<SVGSVGElement>>>\r\n) => {\r\n return Object.keys(icons).reduce<\r\n Record<IconName, (props: IconProps) => React.ReactElement>\r\n >((acc, key) => {\r\n acc[key as IconName] = ({\r\n width = DEFAULT_ICON_SIZE,\r\n height = DEFAULT_ICON_SIZE,\r\n }: IconProps) =>\r\n React.createElement(icons[key as IconName], { width, height })\r\n return acc\r\n }, {} as Record<IconName, (props: IconProps) => React.ReactElement>)\r\n}\r\n\r\nconst icons: Record<\r\n IconName,\r\n React.ComponentType<React.SVGProps<SVGSVGElement>>\r\n> = {\r\n chevronLeft: ArrowSliderPrev16X16,\r\n chevronRight: ArrowSliderNext16X16,\r\n plus: MoreLink16X16,\r\n minus: LessLink16X16,\r\n like: ThumbsUp,\r\n dislike: ThumbsDown,\r\n}\r\n\r\nconst iconMap = generateIconMap(icons)\r\nexport const iconDefiner = (\r\n icon?: IconName,\r\n width?: number | string,\r\n height?: number | string\r\n): React.ReactElement => {\r\n if (icon) {\r\n const selectedIcon = iconMap[icon]\r\n if (selectedIcon) {\r\n return selectedIcon({ width, height })\r\n }\r\n }\r\n return <></>\r\n}\r\n"],"names":["DEFAULT_ICON_SIZE","generateIconMap","icons","acc","key","width","height","React","ArrowSliderPrev16X16","ArrowSliderNext16X16","MoreLink16X16","LessLink16X16","ThumbsUp","ThumbsDown","iconMap","iconDefiner","icon","selectedIcon"],"mappings":";;;AAUA,MAAMA,IAAoB,OAuBpBC,IAAkB,CACtBC,MAEO,OAAO,KAAKA,CAAK,EAAE,OAExB,CAACC,GAAKC,OACFD,EAAAC,CAAe,IAAI,CAAC;AAAA,EACtB,OAAAC,IAAQL;AAAA,EACR,QAAAM,IAASN;AAAA,MAETO,EAAM,cAAcL,EAAME,CAAe,GAAG,EAAE,OAAAC,GAAO,QAAAC,EAAA,CAAQ,GACxDH,IACN,CAAgE,CAAA,GAG/DD,IAGF;AAAA,EACF,aAAaM;AAAA,EACb,cAAcC;AAAA,EACd,MAAMC;AAAA,EACN,OAAOC;AAAA,EACP,MAAMC;AAAA,EACN,SAASC;AACX,GAEMC,IAAUb,EAAgBC,CAAK,GACxBa,IAAc,CACzBC,GACAX,GACAC,MACuB;AACvB,MAAIU,GAAM;AACF,UAAAC,IAAeH,EAAQE,CAAI;AACjC,QAAIC;AACF,aAAOA,EAAa,EAAE,OAAAZ,GAAO,QAAAC,EAAQ,CAAA;AAAA,EAEzC;AACA,SAASC,gBAAAA,EAAA,cAAAA,EAAA,UAAA,IAAA;AACX;"}
@@ -0,0 +1,30 @@
1
+ import * as a from "react";
2
+ import * as t from "@radix-ui/react-label";
3
+ import { cva as l } from "class-variance-authority";
4
+ import { cn as n } from "./index.es25.js";
5
+ const s = l(
6
+ "typo_variant_h6 leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 duration-200",
7
+ {
8
+ variants: {
9
+ variant: {
10
+ default: "text-navy",
11
+ blue: "text-whitish"
12
+ }
13
+ },
14
+ defaultVariants: {
15
+ variant: "default"
16
+ }
17
+ }
18
+ ), d = a.forwardRef(({ className: e, variant: r, ...o }, i) => /* @__PURE__ */ a.createElement(
19
+ t.Root,
20
+ {
21
+ ref: i,
22
+ className: n(s({ variant: r }), e),
23
+ ...o
24
+ }
25
+ ));
26
+ d.displayName = t.Root.displayName;
27
+ export {
28
+ d as Label
29
+ };
30
+ //# sourceMappingURL=index.es27.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es27.js","sources":["../src/components/ui/label.tsx"],"sourcesContent":["import * as React from 'react'\nimport * as LabelPrimitive from '@radix-ui/react-label'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { cn } from '@/lib/utils/cn'\n\nconst labelVariants = cva(\n 'typo_variant_h6 leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 duration-200',\n {\n variants: {\n variant: {\n default: 'text-navy',\n blue: 'text-whitish',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n)\n\nconst Label = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> &\n VariantProps<typeof labelVariants>\n>(({ className, variant, ...props }, ref) => (\n <LabelPrimitive.Root\n ref={ref}\n className={cn(labelVariants({ variant }), className)}\n {...props}\n />\n))\nLabel.displayName = LabelPrimitive.Root.displayName\n\nexport { Label }\n"],"names":["labelVariants","cva","Label","React","className","variant","props","ref","LabelPrimitive","cn"],"mappings":";;;;AAMA,MAAMA,IAAgBC;AAAA,EACpB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SAAS;AAAA,QACT,MAAM;AAAA,MACR;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf,SAAS;AAAA,IACX;AAAA,EACF;AACF,GAEMC,IAAQC,EAAM,WAIlB,CAAC,EAAE,WAAAC,GAAW,SAAAC,GAAS,GAAGC,EAAM,GAAGC,MACnC,gBAAAJ,EAAA;AAAA,EAACK,EAAe;AAAA,EAAf;AAAA,IACC,KAAAD;AAAA,IACA,WAAWE,EAAGT,EAAc,EAAE,SAAAK,EAAS,CAAA,GAAGD,CAAS;AAAA,IAClD,GAAGE;AAAA,EAAA;AACN,CACD;AACDJ,EAAM,cAAcM,EAAe,KAAK;"}
@@ -0,0 +1,5 @@
1
+ const t = () => "_" + Math.random().toString(36).substr(2, 9);
2
+ export {
3
+ t as uniqueId
4
+ };
5
+ //# sourceMappingURL=index.es28.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es28.js","sources":["../src/utils/unique.ts"],"sourcesContent":["export const uniqueId = () => '_' + Math.random().toString(36).substr(2, 9)\r\n"],"names":["uniqueId"],"mappings":"AAAa,MAAAA,IAAW,MAAM,MAAM,KAAK,OAAA,EAAS,SAAS,EAAE,EAAE,OAAO,GAAG,CAAC;"}
@@ -0,0 +1,23 @@
1
+ import * as t from "@radix-ui/react-popover";
2
+ import * as e from "react";
3
+ import { cn as i } from "./index.es25.js";
4
+ const p = t.Root, l = t.Trigger, s = e.forwardRef(({ className: o, align: a = "center", sideOffset: r = 4, ...d }, n) => /* @__PURE__ */ e.createElement(t.Portal, null, /* @__PURE__ */ e.createElement(
5
+ t.Content,
6
+ {
7
+ ref: n,
8
+ align: a,
9
+ sideOffset: r,
10
+ className: i(
11
+ "z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none 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-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
12
+ o
13
+ ),
14
+ ...d
15
+ }
16
+ )));
17
+ s.displayName = t.Content.displayName;
18
+ export {
19
+ p as Popover,
20
+ s as PopoverContent,
21
+ l as PopoverTrigger
22
+ };
23
+ //# sourceMappingURL=index.es29.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es29.js","sources":["../src/components/ui/popover.tsx"],"sourcesContent":["import * as PopoverPrimitive from '@radix-ui/react-popover'\nimport * as React from 'react'\n\nimport { cn } from '@/lib/utils/cn'\n\nconst Popover = PopoverPrimitive.Root\n\nconst PopoverTrigger = PopoverPrimitive.Trigger\n\nconst PopoverContent = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>\n>(({ className, align = 'center', sideOffset = 4, ...props }, ref) => (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n 'z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none 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-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n className\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n))\nPopoverContent.displayName = PopoverPrimitive.Content.displayName\n\nexport { Popover, PopoverTrigger, PopoverContent }\n"],"names":["Popover","PopoverPrimitive","PopoverTrigger","PopoverContent","React","className","align","sideOffset","props","ref","cn"],"mappings":";;;AAKA,MAAMA,IAAUC,EAAiB,MAE3BC,IAAiBD,EAAiB,SAElCE,IAAiBC,EAAM,WAG3B,CAAC,EAAE,WAAAC,GAAW,OAAAC,IAAQ,UAAU,YAAAC,IAAa,GAAG,GAAGC,KAASC,MAC3D,gBAAAL,EAAA,cAAAH,EAAiB,QAAjB,MACC,gBAAAG,EAAA;AAAA,EAACH,EAAiB;AAAA,EAAjB;AAAA,IACC,KAAAQ;AAAA,IACA,OAAAH;AAAA,IACA,YAAAC;AAAA,IACA,WAAWG;AAAA,MACT;AAAA,MACAL;AAAA,IACF;AAAA,IACC,GAAGG;AAAA,EAAA;AACN,CACF,CACD;AACDL,EAAe,cAAcF,EAAiB,QAAQ;"}