@iit/precision-ui 0.2.0 → 0.4.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 (104) hide show
  1. package/dist/Adapters.d.ts +0 -7
  2. package/dist/Adapters.d.ts.map +1 -1
  3. package/dist/components/GridIterator.d.ts.map +1 -1
  4. package/dist/components/core/typography/Heading.d.ts +1 -0
  5. package/dist/components/core/typography/Heading.d.ts.map +1 -1
  6. package/dist/components/ui/checkbox/CheckboxWithLabel.d.ts.map +1 -1
  7. package/dist/components/ui/form.d.ts +24 -0
  8. package/dist/components/ui/form.d.ts.map +1 -0
  9. package/dist/components/ui/textarea/Textarea.d.ts +10 -0
  10. package/dist/components/ui/textarea/Textarea.d.ts.map +1 -0
  11. package/dist/components/ui/textarea/TextareaWithLabel.d.ts +11 -0
  12. package/dist/components/ui/textarea/TextareaWithLabel.d.ts.map +1 -0
  13. package/dist/components/ui/textarea/index.d.ts +5 -0
  14. package/dist/components/ui/textarea/index.d.ts.map +1 -0
  15. package/dist/decorators/CarouselWrapper.d.ts +4 -4
  16. package/dist/decorators/CarouselWrapper.d.ts.map +1 -1
  17. package/dist/index.d.ts +5 -0
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.es.js +55 -41
  20. package/dist/index.es.js.map +1 -1
  21. package/dist/index.es10.js +1 -1
  22. package/dist/index.es11.js +1 -1
  23. package/dist/index.es12.js +13 -14
  24. package/dist/index.es12.js.map +1 -1
  25. package/dist/index.es13.js +27 -24
  26. package/dist/index.es13.js.map +1 -1
  27. package/dist/index.es14.js +28 -73
  28. package/dist/index.es14.js.map +1 -1
  29. package/dist/index.es15.js +15 -23
  30. package/dist/index.es15.js.map +1 -1
  31. package/dist/index.es16.js +23 -31
  32. package/dist/index.es16.js.map +1 -1
  33. package/dist/index.es17.js +71 -28
  34. package/dist/index.es17.js.map +1 -1
  35. package/dist/index.es18.js +33 -26
  36. package/dist/index.es18.js.map +1 -1
  37. package/dist/index.es19.js +25 -176
  38. package/dist/index.es19.js.map +1 -1
  39. package/dist/index.es2.js +1 -1
  40. package/dist/index.es20.js +29 -51
  41. package/dist/index.es20.js.map +1 -1
  42. package/dist/index.es21.js +25 -54
  43. package/dist/index.es21.js.map +1 -1
  44. package/dist/index.es22.js +178 -54
  45. package/dist/index.es22.js.map +1 -1
  46. package/dist/index.es23.js +50 -17
  47. package/dist/index.es23.js.map +1 -1
  48. package/dist/index.es24.js +56 -18
  49. package/dist/index.es24.js.map +1 -1
  50. package/dist/index.es25.js +59 -6
  51. package/dist/index.es25.js.map +1 -1
  52. package/dist/index.es26.js +19 -21
  53. package/dist/index.es26.js.map +1 -1
  54. package/dist/index.es27.js +18 -26
  55. package/dist/index.es27.js.map +1 -1
  56. package/dist/index.es28.js +88 -2
  57. package/dist/index.es28.js.map +1 -1
  58. package/dist/index.es29.js +6 -20
  59. package/dist/index.es29.js.map +1 -1
  60. package/dist/index.es3.js +2 -2
  61. package/dist/index.es30.js +21 -19
  62. package/dist/index.es30.js.map +1 -1
  63. package/dist/index.es31.js +18 -9
  64. package/dist/index.es31.js.map +1 -1
  65. package/dist/index.es32.js +19 -84
  66. package/dist/index.es32.js.map +1 -1
  67. package/dist/index.es33.js +10 -18
  68. package/dist/index.es33.js.map +1 -1
  69. package/dist/index.es34.js +77 -38
  70. package/dist/index.es34.js.map +1 -1
  71. package/dist/index.es35.js +15 -41
  72. package/dist/index.es35.js.map +1 -1
  73. package/dist/index.es36.js +42 -33
  74. package/dist/index.es36.js.map +1 -1
  75. package/dist/index.es37.js +40 -51
  76. package/dist/index.es37.js.map +1 -1
  77. package/dist/index.es38.js +33 -88
  78. package/dist/index.es38.js.map +1 -1
  79. package/dist/index.es39.js +37 -79
  80. package/dist/index.es39.js.map +1 -1
  81. package/dist/index.es4.js +1 -1
  82. package/dist/index.es40.js +86 -21
  83. package/dist/index.es40.js.map +1 -1
  84. package/dist/index.es41.js +97 -15
  85. package/dist/index.es41.js.map +1 -1
  86. package/dist/index.es42.js +27 -4
  87. package/dist/index.es42.js.map +1 -1
  88. package/dist/index.es43.js +48 -0
  89. package/dist/index.es43.js.map +1 -0
  90. package/dist/index.es44.js +19 -0
  91. package/dist/index.es44.js.map +1 -0
  92. package/dist/index.es45.js +225 -0
  93. package/dist/index.es45.js.map +1 -0
  94. package/dist/index.es46.js +7 -0
  95. package/dist/index.es46.js.map +1 -0
  96. package/dist/index.es5.js +1 -1
  97. package/dist/index.es6.js +1 -1
  98. package/dist/index.es7.js +1 -1
  99. package/dist/index.es8.js +1 -1
  100. package/dist/index.es9.js.map +1 -1
  101. package/dist/styles.css +35 -2
  102. package/package.json +18 -4
  103. package/dist/utils/unique.d.ts +0 -2
  104. package/dist/utils/unique.d.ts.map +0 -1
@@ -1,40 +1,49 @@
1
- import r from "react";
2
- import m from "./index.es24.js";
3
- import { getAdapter as n } from "./index.es9.js";
4
- const E = ({
5
- items: t,
6
- renderItem: s,
7
- columns: l = 4,
8
- showControlsOnDesktop: d = !1,
9
- withoutCarousel: g = !0,
10
- // TODO: add to props chain
11
- footnote: c
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.es29.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
12
16
  }) => {
13
- const i = (e) => {
14
- switch (e) {
15
- case 1:
16
- return "grid grid-cols-1 gap-3";
17
- case 2:
18
- return "grid grid-cols-1 sm:grid-cols-2 gap-3";
19
- case 3:
20
- return "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3";
21
- case 4:
22
- return "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-3";
23
- default:
24
- return "grid grid-cols-1 gap-3";
25
- }
26
- }, o = n("CarouselWrapper");
27
- return /* @__PURE__ */ r.createElement("div", null, g ? /* @__PURE__ */ r.createElement("div", { className: i(l) }, t.map((e, a) => /* @__PURE__ */ r.createElement(r.Fragment, { key: a }, s(e, a)))) : /* @__PURE__ */ r.createElement(
28
- o,
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,
29
19
  {
30
- items: t,
31
- renderItem: (e, a) => s(e, a),
32
- columns: l,
33
- showControlsOnDesktop: d
20
+ src: r,
21
+ alt: `Изображение для ${t}`,
22
+ width: 64,
23
+ height: 64
34
24
  }
35
- ), c && /* @__PURE__ */ r.createElement("div", { className: "mt-6" }, /* @__PURE__ */ r.createElement(m, { variant: "small-body", as: "div" }, c)));
25
+ )), /* @__PURE__ */ e.createElement("div", { className: "space-y-2 mt-[88px]" }, /* @__PURE__ */ e.createElement(h, { level: 4, as: "div" }, t), a && /* @__PURE__ */ e.createElement(x, { variant: "small-body", className: "text-navy-opacity-60", as: "div" }, /* @__PURE__ */ e.createElement(g, { html: a, className: "inline" }))));
26
+ return m ? /* @__PURE__ */ e.createElement(
27
+ p,
28
+ {
29
+ href: m,
30
+ className: N(
31
+ l,
32
+ "flex flex-col h-full justify-between items-start transition-all bottom-0 hover:bottom-1 transform duration-300 relative"
33
+ )
34
+ },
35
+ /* @__PURE__ */ e.createElement("div", null, n),
36
+ /* @__PURE__ */ e.createElement(
37
+ E,
38
+ {
39
+ icon: "arrowRight",
40
+ className: "mt-6"
41
+ },
42
+ "Подробнее"
43
+ )
44
+ ) : /* @__PURE__ */ e.createElement("div", { className: l }, n);
36
45
  };
37
46
  export {
38
- E as default
47
+ A as default
39
48
  };
40
49
  //# sourceMappingURL=index.es36.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es36.js","sources":["../src/components/GridIterator.tsx"],"sourcesContent":["import React from 'react'\r\nimport Text from './core/typography/Text'\r\nimport { getAdapter } from '@/Adapters'\r\n\r\ninterface GridIteratorProps<T> {\r\n items: T[]\r\n renderItem: (item: T, index: number) => React.ReactNode\r\n columns?: number\r\n showControlsOnDesktop?: boolean\r\n withoutCarousel?: boolean\r\n footnote?: string\r\n}\r\n\r\nconst GridIterator = <T,>({\r\n items,\r\n renderItem,\r\n columns = 4,\r\n showControlsOnDesktop = false,\r\n withoutCarousel = true, // TODO: add to props chain\r\n footnote,\r\n}: GridIteratorProps<T>) => {\r\n const getGridClasses = (columns: number) => {\r\n switch (columns) {\r\n case 1:\r\n return 'grid grid-cols-1 gap-3'\r\n case 2:\r\n return 'grid grid-cols-1 sm:grid-cols-2 gap-3'\r\n case 3:\r\n return 'grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3'\r\n case 4:\r\n return 'grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-3'\r\n default:\r\n return 'grid grid-cols-1 gap-3'\r\n }\r\n }\r\n const CarouselWrapper = getAdapter('CarouselWrapper')\r\n\r\n return (\r\n <div>\r\n {withoutCarousel ? (\r\n <div className={getGridClasses(columns)}>\r\n {items.map((item, index) => (\r\n <React.Fragment key={index}>\r\n {renderItem(item, index)}\r\n </React.Fragment>\r\n ))}\r\n </div>\r\n ) : (\r\n <CarouselWrapper\r\n items={items}\r\n // renderItem={renderItem}\r\n renderItem={(item, index) => renderItem(item as T, index)}\r\n columns={columns}\r\n showControlsOnDesktop={showControlsOnDesktop}\r\n />\r\n )}\r\n\r\n {footnote && (\r\n <div className=\"mt-6\">\r\n <Text variant=\"small-body\" as=\"div\">\r\n {footnote}\r\n </Text>\r\n </div>\r\n )}\r\n </div>\r\n )\r\n}\r\n\r\nexport default GridIterator\r\n"],"names":["GridIterator","items","renderItem","columns","showControlsOnDesktop","withoutCarousel","footnote","getGridClasses","CarouselWrapper","getAdapter","React","item","index","Text"],"mappings":";;;AAaA,MAAMA,IAAe,CAAK;AAAA,EACxB,OAAAC;AAAA,EACA,YAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,uBAAAC,IAAwB;AAAA,EACxB,iBAAAC,IAAkB;AAAA;AAAA,EAClB,UAAAC;AACF,MAA4B;AACpB,QAAAC,IAAiB,CAACJ,MAAoB;AAC1C,YAAQA,GAAS;AAAA,MACf,KAAK;AACI,eAAA;AAAA,MACT,KAAK;AACI,eAAA;AAAA,MACT,KAAK;AACI,eAAA;AAAA,MACT,KAAK;AACI,eAAA;AAAA,MACT;AACS,eAAA;AAAA,IACX;AAAA,EAAA,GAEIK,IAAkBC,EAAW,iBAAiB;AAGlD,SAAAC,gBAAAA,EAAA,cAAC,OACE,MAAAL,IACEK,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAWH,EAAeJ,CAAO,EAAA,GACnCF,EAAM,IAAI,CAACU,GAAMC,MACfF,gBAAAA,EAAA,cAAAA,EAAM,UAAN,EAAe,KAAKE,EAAA,GAClBV,EAAWS,GAAMC,CAAK,CACzB,CACD,CACH,IAEAF,gBAAAA,EAAA;AAAA,IAACF;AAAA,IAAA;AAAA,MACC,OAAAP;AAAA,MAEA,YAAY,CAACU,GAAMC,MAAUV,EAAWS,GAAWC,CAAK;AAAA,MACxD,SAAAT;AAAA,MACA,uBAAAC;AAAA,IAAA;AAAA,EAAA,GAIHE,KACEI,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,OACb,GAAAA,gBAAAA,EAAA,cAACG,GAAK,EAAA,SAAQ,cAAa,IAAG,SAC3BP,CACH,CACF,CAEJ;AAEJ;"}
1
+ {"version":3,"file":"index.es36.js","sources":["../src/components/cards/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,59 +1,48 @@
1
- import { cva as n } from "class-variance-authority";
2
- import p from "./index.es6.js";
3
- import f from "./index.es23.js";
1
+ import { Tag as b } from "./index.es20.js";
2
+ import h from "./index.es6.js";
3
+ import o from "./index.es26.js";
4
4
  import e from "react";
5
- import d from "./index.es14.js";
6
- import h from "./index.es24.js";
7
- import { cn as a } from "./index.es25.js";
8
- import { getAdapter as u } from "./index.es9.js";
9
- const l = n("rounded-lg p-6 min-h-[190px] h-full", {
10
- variants: {
11
- variant: {
12
- default: "bg-white",
13
- sapphire: "bg-sapphire text-whitish"
14
- }
15
- },
16
- defaultVariants: {
17
- variant: "default"
18
- }
19
- }), v = n("", {
20
- variants: {
21
- variant: {
22
- default: "text-navy-opacity-60",
23
- sapphire: "text-whitish-opacity-60"
24
- }
25
- },
26
- defaultVariants: {
27
- variant: "default"
28
- }
29
- }), R = ({
30
- title: s,
31
- desc: m,
32
- variant: t,
33
- link: r,
34
- detailsText: i
5
+ import s from "./index.es27.js";
6
+ import { cn as x } from "./index.es29.js";
7
+ import { cva as y } from "class-variance-authority";
8
+ import { getAdapter as N } from "./index.es9.js";
9
+ const _ = ({
10
+ size: m,
11
+ tags: l,
12
+ link: n,
13
+ title: i,
14
+ desc: t,
15
+ className: c,
16
+ showDivider: p,
17
+ price: d,
18
+ oldPrice: a,
19
+ detailsText: v
35
20
  }) => {
36
- const o = /* @__PURE__ */ e.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ e.createElement(f, { level: 4, as: "div" }, s), /* @__PURE__ */ e.createElement(h, { className: a(v({ variant: t })), as: "div" }, /* @__PURE__ */ e.createElement(d, { html: m }))), c = u("LinkWrapper");
37
- return r ? /* @__PURE__ */ e.createElement(
38
- c,
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",
39
23
  {
40
- href: r,
41
- className: a(
42
- l({ variant: t }),
43
- "transition-all bottom-0 hover:bottom-1 transform duration-300 relative hover:scale1-[1.005]"
44
- )
45
- },
46
- /* @__PURE__ */ e.createElement("div", { className: "flex flex-col justify-between h-full items-start" }, o, i && /* @__PURE__ */ e.createElement(
47
- p,
48
- {
49
- icon: "arrowRight",
50
- variant: t == "sapphire" ? "white" : "default"
24
+ variants: {
25
+ size: {
26
+ 1: "sm:col-span-1",
27
+ 2: "sm:col-span-2",
28
+ 3: "sm:col-span-3"
29
+ }
51
30
  },
52
- i || "Подробнее"
53
- ))
54
- ) : /* @__PURE__ */ e.createElement("div", { className: a(l({ variant: t })) }, o);
31
+ defaultVariants: {
32
+ size: 1
33
+ }
34
+ }
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,
38
+ {
39
+ variant: "caption",
40
+ className: "text-navy-opacity-40 line-through"
41
+ },
42
+ a
43
+ ), /* @__PURE__ */ e.createElement(o, { level: 4, as: "div" }, d)), /* @__PURE__ */ e.createElement(h, { icon: "arrowRight" }, v || "Подробнее")));
55
44
  };
56
45
  export {
57
- R as default
46
+ _ as default
58
47
  };
59
48
  //# sourceMappingURL=index.es37.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es37.js","sources":["../src/components/cards/Plate.tsx"],"sourcesContent":["import { VariantProps, cva } from 'class-variance-authority'\r\n\r\nimport { ButtonText } from '../ui/button'\r\nimport Heading from '../core/typography/Heading'\r\nimport React from 'react'\r\nimport SafeHtmlRenderer from '../SafeHtml'\r\nimport Text from '../core/typography/Text'\r\nimport { cn } from '@/lib/utils/cn'\r\nimport { getAdapter } from '@/Adapters'\r\n\r\nconst plateCardVariants = cva('rounded-lg p-6 min-h-[190px] h-full', {\r\n variants: {\r\n variant: {\r\n default: 'bg-white',\r\n sapphire: 'bg-sapphire text-whitish',\r\n },\r\n },\r\n defaultVariants: {\r\n variant: 'default',\r\n },\r\n})\r\n\r\nconst descVariants = cva('', {\r\n variants: {\r\n variant: {\r\n default: 'text-navy-opacity-60',\r\n sapphire: 'text-whitish-opacity-60',\r\n },\r\n },\r\n defaultVariants: {\r\n variant: 'default',\r\n },\r\n})\r\n\r\nexport interface PlateCardProps extends VariantProps<typeof plateCardVariants> {\r\n title: string\r\n desc: string\r\n link?: string\r\n detailsText?: string\r\n}\r\n\r\nconst PlateCard: React.FC<PlateCardProps> = ({\r\n title,\r\n desc,\r\n variant,\r\n link,\r\n detailsText,\r\n}) => {\r\n const content = (\r\n <div className=\"space-y-2\">\r\n <Heading level={4} as=\"div\">\r\n {title}\r\n </Heading>\r\n <Text className={cn(descVariants({ variant }))} as={'div'}>\r\n <SafeHtmlRenderer html={desc} />\r\n </Text>\r\n </div>\r\n )\r\n\r\n const LinkWrapper = getAdapter('LinkWrapper')\r\n\r\n return link ? (\r\n <LinkWrapper\r\n href={link}\r\n className={cn(\r\n plateCardVariants({ variant }),\r\n 'transition-all bottom-0 hover:bottom-1 transform duration-300 relative hover:scale1-[1.005]'\r\n )}\r\n >\r\n <div className=\"flex flex-col justify-between h-full items-start\">\r\n {content}\r\n {detailsText && (\r\n <ButtonText\r\n icon=\"arrowRight\"\r\n variant={variant == 'sapphire' ? 'white' : 'default'}\r\n >\r\n {detailsText || 'Подробнее'}\r\n </ButtonText>\r\n )}\r\n </div>\r\n </LinkWrapper>\r\n ) : (\r\n <div className={cn(plateCardVariants({ variant }))}>{content}</div>\r\n )\r\n}\r\n\r\nexport default PlateCard\r\n"],"names":["plateCardVariants","cva","descVariants","PlateCard","title","desc","variant","link","detailsText","content","React","Heading","Text","cn","SafeHtmlRenderer","LinkWrapper","getAdapter","ButtonText"],"mappings":";;;;;;;;AAUA,MAAMA,IAAoBC,EAAI,uCAAuC;AAAA,EACnE,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,MACT,UAAU;AAAA,IACZ;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,EACX;AACF,CAAC,GAEKC,IAAeD,EAAI,IAAI;AAAA,EAC3B,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,MACT,UAAU;AAAA,IACZ;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,EACX;AACF,CAAC,GASKE,IAAsC,CAAC;AAAA,EAC3C,OAAAC;AAAA,EACA,MAAAC;AAAA,EACA,SAAAC;AAAA,EACA,MAAAC;AAAA,EACA,aAAAC;AACF,MAAM;AACJ,QAAMC,IACJC,gBAAAA,EAAA,cAAC,OAAI,EAAA,WAAU,YACb,GAAAA,gBAAAA,EAAA,cAACC,GAAQ,EAAA,OAAO,GAAG,IAAG,MACnB,GAAAP,CACH,GACCM,gBAAAA,EAAA,cAAAE,GAAA,EAAK,WAAWC,EAAGX,EAAa,EAAE,SAAAI,EAAQ,CAAC,CAAC,GAAG,IAAI,MAAA,GACjDI,gBAAAA,EAAA,cAAAI,GAAA,EAAiB,MAAMT,EAAA,CAAM,CAChC,CACF,GAGIU,IAAcC,EAAW,aAAa;AAE5C,SAAOT,IACLG,gBAAAA,EAAA;AAAA,IAACK;AAAA,IAAA;AAAA,MACC,MAAMR;AAAA,MACN,WAAWM;AAAA,QACTb,EAAkB,EAAE,SAAAM,GAAS;AAAA,QAC7B;AAAA,MACF;AAAA,IAAA;AAAA,IAECI,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,mDAAA,GACZD,GACAD,KACCE,gBAAAA,EAAA;AAAA,MAACO;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,SAASX,KAAW,aAAa,UAAU;AAAA,MAAA;AAAA,MAE1CE,KAAe;AAAA,IAAA,CAGtB;AAAA,EACF,IAECE,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAWG,EAAGb,EAAkB,EAAE,SAAAM,EAAS,CAAA,CAAC,EAAA,GAAIG,CAAQ;AAEjE;"}
1
+ {"version":3,"file":"index.es37.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,95 +1,40 @@
1
- import { cva as d } from "class-variance-authority";
2
- import c from "./index.es6.js";
3
- import g from "./index.es23.js";
4
- import e from "react";
5
- import u from "./index.es24.js";
6
- import { cn as o } from "./index.es25.js";
7
- import { getAdapter as m } from "./index.es9.js";
8
- const x = d(
9
- "group p-6 rounded-lg min-h-[300px] flex flex-col justify-between gap-12 items-start relative hover:scale1-[1.005] h-full",
10
- {
11
- variants: {
12
- variant: {
13
- default: "text-navy bg-whitish hover1:bg-navy-opacity-4 hover1:text-navy",
14
- // navy: "text-whitish bg-gradient-to-b from-navy to-sapphire hover:from-sapphire hover:to-navy",
15
- navy: "text-whitish primary-gradient"
16
- },
17
- size: {
18
- 1: "sm:col-span-1",
19
- 2: "sm:col-span-2"
20
- }
21
- },
22
- defaultVariants: {
23
- variant: "default",
24
- size: 1
25
- }
26
- }
27
- ), E = d("", {
28
- variants: {
29
- variant: {
30
- default: "text-navy-opacity-60",
31
- navy: "text-whitish-opacity-60"
32
- }
33
- },
34
- defaultVariants: {
35
- variant: "default"
36
- }
37
- }), j = ({
38
- title: i,
39
- desc: p,
40
- icon: v,
41
- link: l,
42
- variant: t,
43
- size: s,
44
- buttons: r
1
+ import { CarouselWrapper as m } from "./index.es43.js";
2
+ import r from "react";
3
+ import o from "./index.es27.js";
4
+ const f = ({
5
+ items: t,
6
+ renderItem: s,
7
+ columns: l = 4,
8
+ showControlsOnDesktop: d = !1,
9
+ withoutCarousel: g = !0,
10
+ // TODO: add to props chain
11
+ footnote: c
45
12
  }) => {
46
- const f = m("LinkWrapper"), h = m("ImageWrapper");
47
- let n = /* @__PURE__ */ e.createElement("div", { className: o(x({ variant: t, size: s })) }, /* @__PURE__ */ e.createElement("div", { className: "rounded-lg p-4 bg-turquoise-opacity-20" }, /* @__PURE__ */ e.createElement(
48
- h,
49
- {
50
- src: v,
51
- alt: `Изображение для ${i}`,
52
- width: 32,
53
- height: 32,
54
- className: "object-contain"
13
+ const i = (e) => {
14
+ switch (e) {
15
+ case 1:
16
+ return "grid grid-cols-1 gap-3";
17
+ case 2:
18
+ return "grid grid-cols-1 sm:grid-cols-2 gap-3";
19
+ case 3:
20
+ return "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3";
21
+ case 4:
22
+ return "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-3";
23
+ default:
24
+ return "grid grid-cols-1 gap-3";
55
25
  }
56
- )), /* @__PURE__ */ e.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ e.createElement(g, { level: 5, className: "mt-4 mb-2" }, i), /* @__PURE__ */ e.createElement(u, { variant: "small-body", className: o(E({ variant: t })) }, p)), !(r && r.length) && /* @__PURE__ */ e.createElement(
57
- c,
26
+ };
27
+ return /* @__PURE__ */ r.createElement("div", null, g ? /* @__PURE__ */ r.createElement("div", { className: i(l) }, t.map((e, a) => /* @__PURE__ */ r.createElement(r.Fragment, { key: a }, s(e, a)))) : /* @__PURE__ */ r.createElement(
28
+ m,
58
29
  {
59
- icon: "arrowRight",
60
- variant: t === "navy" ? "white" : "default"
61
- },
62
- "Подробнее"
63
- ), r && /* @__PURE__ */ e.createElement("div", { className: "flex space-x-3" }, r?.map((a, y) => /* @__PURE__ */ e.createElement("div", { key: y }, /* @__PURE__ */ e.createElement(
64
- c,
65
- {
66
- variant: t === "navy" ? "white" : "default",
67
- icon: a.icon,
68
- asChild: !0
69
- },
70
- /* @__PURE__ */ e.createElement(
71
- "a",
72
- {
73
- href: a.href,
74
- target: a.target || "_self",
75
- download: a.download
76
- },
77
- a.text
78
- )
79
- )))));
80
- return l && (n = /* @__PURE__ */ e.createElement(
81
- f,
82
- {
83
- href: l,
84
- className: o(
85
- "relative transition-all bottom-0 hover:bottom-2 transform duration-300 border border-transparent rounded-lg hover1:border-navy-opacity-16",
86
- s === 2 ? "sm:col-span-2" : "sm:col-span-1"
87
- )
88
- },
89
- n
90
- )), n;
30
+ items: t,
31
+ renderItem: (e, a) => s(e, a),
32
+ columns: l,
33
+ showControlsOnDesktop: d
34
+ }
35
+ ), c && /* @__PURE__ */ r.createElement("div", { className: "mt-6" }, /* @__PURE__ */ r.createElement(o, { variant: "small-body", as: "div" }, c)));
91
36
  };
92
37
  export {
93
- j as default
38
+ f as default
94
39
  };
95
40
  //# sourceMappingURL=index.es38.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es38.js","sources":["../src/components/cards/Product.tsx"],"sourcesContent":["import {\r\n ButtonTextIconName,\r\n ButtonTextPropsWithoutHTMLAttributes,\r\n} from '../ui/button/ButtonText'\r\nimport { VariantProps, cva } from 'class-variance-authority'\r\n\r\nimport { ButtonText } from '../ui/button'\r\nimport Heading from '../core/typography/Heading'\r\nimport React from 'react'\r\nimport Text from '../core/typography/Text'\r\nimport { cn } from '@/lib/utils/cn'\r\nimport { getAdapter } from '@/Adapters'\r\n\r\nconst productCardVariants = cva(\r\n 'group p-6 rounded-lg min-h-[300px] flex flex-col justify-between gap-12 items-start relative hover:scale1-[1.005] h-full',\r\n {\r\n variants: {\r\n variant: {\r\n default:\r\n 'text-navy bg-whitish hover1:bg-navy-opacity-4 hover1:text-navy',\r\n // navy: \"text-whitish bg-gradient-to-b from-navy to-sapphire hover:from-sapphire hover:to-navy\",\r\n navy: 'text-whitish primary-gradient',\r\n },\r\n size: {\r\n 1: 'sm:col-span-1',\r\n 2: 'sm:col-span-2',\r\n },\r\n },\r\n defaultVariants: {\r\n variant: 'default',\r\n size: 1,\r\n },\r\n }\r\n)\r\n\r\nconst descVariants = cva('', {\r\n variants: {\r\n variant: {\r\n default: 'text-navy-opacity-60',\r\n navy: 'text-whitish-opacity-60',\r\n },\r\n },\r\n defaultVariants: {\r\n variant: 'default',\r\n },\r\n})\r\n\r\nexport interface ProductCardButtonProps\r\n extends ButtonTextPropsWithoutHTMLAttributes {\r\n href?: string\r\n target?: '_blank' | '_self'\r\n icon?: ButtonTextIconName\r\n download?: boolean\r\n}\r\n\r\nexport interface ProductCardProps\r\n extends React.HTMLAttributes<HTMLAnchorElement>,\r\n VariantProps<typeof productCardVariants> {\r\n title: string\r\n desc: string\r\n icon: string\r\n link?: string\r\n size?: 1 | 2\r\n buttons?: ProductCardButtonProps[]\r\n}\r\n\r\nexport interface ProductCardPropsWithoutHtmlAttributes\r\n extends Omit<ProductCardProps, keyof React.HTMLAttributes<HTMLDivElement>> {\r\n title: string\r\n}\r\n\r\nconst ProductCard: React.FC<ProductCardProps> = ({\r\n title,\r\n desc,\r\n icon,\r\n link,\r\n variant,\r\n size,\r\n buttons,\r\n}) => {\r\n const LinkWrapper = getAdapter('LinkWrapper')\r\n const ImageWrapper = getAdapter('ImageWrapper')\r\n\r\n let component = (\r\n <div className={cn(productCardVariants({ variant, size }))}>\r\n <div className=\"rounded-lg p-4 bg-turquoise-opacity-20\">\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 <div className=\"space-y-2\">\r\n <Heading level={5} className=\"mt-4 mb-2\">\r\n {title}\r\n </Heading>\r\n <Text variant=\"small-body\" className={cn(descVariants({ variant }))}>\r\n {desc}\r\n </Text>\r\n </div>\r\n {/* TODO: here is the button, should be a link */}\r\n\r\n {!(buttons && buttons.length) && (\r\n <ButtonText\r\n icon=\"arrowRight\"\r\n variant={variant === 'navy' ? 'white' : 'default'}\r\n >\r\n Подробнее\r\n </ButtonText>\r\n )}\r\n\r\n {buttons && (\r\n <div className=\"flex space-x-3\">\r\n {buttons?.map((button, index) => (\r\n <div key={index}>\r\n <ButtonText\r\n variant={variant === 'navy' ? 'white' : 'default'}\r\n icon={button.icon}\r\n asChild\r\n >\r\n <a\r\n href={button.href}\r\n target={button.target || '_self'}\r\n download={button.download}\r\n >\r\n {button.text}\r\n </a>\r\n </ButtonText>\r\n {/* <ButtonSecondary asChild variant={\"outline\"}>\r\n <a href={button.href} target={button.target}>\r\n {button.text}\r\n </a>\r\n </ButtonSecondary> */}\r\n </div>\r\n ))}\r\n </div>\r\n )}\r\n </div>\r\n )\r\n\r\n if (link) {\r\n component = (\r\n <LinkWrapper\r\n href={link}\r\n className={cn(\r\n 'relative transition-all bottom-0 hover:bottom-2 transform duration-300 border border-transparent rounded-lg hover1:border-navy-opacity-16',\r\n size === 2 ? 'sm:col-span-2' : 'sm:col-span-1'\r\n )}\r\n >\r\n {component}\r\n </LinkWrapper>\r\n )\r\n }\r\n\r\n return component\r\n}\r\n\r\nexport default ProductCard\r\n"],"names":["productCardVariants","cva","descVariants","ProductCard","title","desc","icon","link","variant","size","buttons","LinkWrapper","getAdapter","ImageWrapper","component","React","cn","Heading","Text","ButtonText","button","index"],"mappings":";;;;;;;AAaA,MAAMA,IAAsBC;AAAA,EAC1B;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SACE;AAAA;AAAA,QAEF,MAAM;AAAA,MACR;AAAA,MACA,MAAM;AAAA,QACJ,GAAG;AAAA,QACH,GAAG;AAAA,MACL;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf,SAAS;AAAA,MACT,MAAM;AAAA,IACR;AAAA,EACF;AACF,GAEMC,IAAeD,EAAI,IAAI;AAAA,EAC3B,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,MACT,MAAM;AAAA,IACR;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,EACX;AACF,CAAC,GA0BKE,IAA0C,CAAC;AAAA,EAC/C,OAAAC;AAAA,EACA,MAAAC;AAAA,EACA,MAAAC;AAAA,EACA,MAAAC;AAAA,EACA,SAAAC;AAAA,EACA,MAAAC;AAAA,EACA,SAAAC;AACF,MAAM;AACE,QAAAC,IAAcC,EAAW,aAAa,GACtCC,IAAeD,EAAW,cAAc;AAE9C,MAAIE,IACFC,gBAAAA,EAAA,cAAC,OAAI,EAAA,WAAWC,EAAGhB,EAAoB,EAAE,SAAAQ,GAAS,MAAAC,EAAA,CAAM,CAAC,EAAA,GACtDM,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,4CACbA,gBAAAA,EAAA;AAAA,IAACF;AAAA,IAAA;AAAA,MACC,KAAKP;AAAA,MACL,KAAK,mBAAmBF,CAAK;AAAA,MAC7B,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,WAAU;AAAA,IAAA;AAAA,EAAA,CAEd,GACCW,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,YACb,GAAAA,gBAAAA,EAAA,cAACE,GAAQ,EAAA,OAAO,GAAG,WAAU,YAC1B,GAAAb,CACH,GACCW,gBAAAA,EAAA,cAAAG,GAAA,EAAK,SAAQ,cAAa,WAAWF,EAAGd,EAAa,EAAE,SAAAM,EAAS,CAAA,CAAC,EAC/D,GAAAH,CACH,CACF,GAGC,EAAEK,KAAWA,EAAQ,WACpBK,gBAAAA,EAAA;AAAA,IAACI;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,SAASX,MAAY,SAAS,UAAU;AAAA,IAAA;AAAA,IACzC;AAAA,EAAA,GAKFE,KACEK,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,oBACZL,GAAS,IAAI,CAACU,GAAQC,MACpBN,gBAAAA,EAAA,cAAA,OAAA,EAAI,KAAKM,KACRN,gBAAAA,EAAA;AAAA,IAACI;AAAA,IAAA;AAAA,MACC,SAASX,MAAY,SAAS,UAAU;AAAA,MACxC,MAAMY,EAAO;AAAA,MACb,SAAO;AAAA,IAAA;AAAA,IAEPL,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAMK,EAAO;AAAA,QACb,QAAQA,EAAO,UAAU;AAAA,QACzB,UAAUA,EAAO;AAAA,MAAA;AAAA,MAEhBA,EAAO;AAAA,IACV;AAAA,EAAA,CAOJ,CACD,CACH,CAEJ;AAGF,SAAIb,MAEAO,IAAAC,gBAAAA,EAAA;AAAA,IAACJ;AAAA,IAAA;AAAA,MACC,MAAMJ;AAAA,MACN,WAAWS;AAAA,QACT;AAAA,QACAP,MAAS,IAAI,kBAAkB;AAAA,MACjC;AAAA,IAAA;AAAA,IAECK;AAAA,EAAA,IAKAA;AACT;"}
1
+ {"version":3,"file":"index.es38.js","sources":["../src/components/GridIterator.tsx"],"sourcesContent":["import { CarouselWrapper } from '@/decorators/CarouselWrapper'\r\nimport React from 'react'\r\nimport Text from './core/typography/Text'\r\n\r\n// import { getAdapter } from '@/Adapters'\r\n\r\ninterface GridIteratorProps<T> {\r\n items: T[]\r\n renderItem: (item: T, index: number) => React.ReactNode\r\n columns?: number\r\n showControlsOnDesktop?: boolean\r\n withoutCarousel?: boolean\r\n footnote?: string\r\n}\r\n\r\nconst GridIterator = <T,>({\r\n items,\r\n renderItem,\r\n columns = 4,\r\n showControlsOnDesktop = false,\r\n withoutCarousel = true, // TODO: add to props chain\r\n footnote,\r\n}: GridIteratorProps<T>) => {\r\n const getGridClasses = (columns: number) => {\r\n switch (columns) {\r\n case 1:\r\n return 'grid grid-cols-1 gap-3'\r\n case 2:\r\n return 'grid grid-cols-1 sm:grid-cols-2 gap-3'\r\n case 3:\r\n return 'grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3'\r\n case 4:\r\n return 'grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-3'\r\n default:\r\n return 'grid grid-cols-1 gap-3'\r\n }\r\n }\r\n // const CarouselWrapper = getAdapter('CarouselWrapper')\r\n\r\n return (\r\n <div>\r\n {withoutCarousel ? (\r\n <div className={getGridClasses(columns)}>\r\n {items.map((item, index) => (\r\n <React.Fragment key={index}>\r\n {renderItem(item, index)}\r\n </React.Fragment>\r\n ))}\r\n </div>\r\n ) : (\r\n <CarouselWrapper\r\n items={items}\r\n // renderItem={renderItem}\r\n renderItem={(item, index) => renderItem(item as T, index)}\r\n columns={columns}\r\n showControlsOnDesktop={showControlsOnDesktop}\r\n />\r\n )}\r\n\r\n {footnote && (\r\n <div className=\"mt-6\">\r\n <Text variant=\"small-body\" as=\"div\">\r\n {footnote}\r\n </Text>\r\n </div>\r\n )}\r\n </div>\r\n )\r\n}\r\n\r\nexport default GridIterator\r\n"],"names":["GridIterator","items","renderItem","columns","showControlsOnDesktop","withoutCarousel","footnote","getGridClasses","React","item","index","CarouselWrapper","Text"],"mappings":";;;AAeA,MAAMA,IAAe,CAAK;AAAA,EACxB,OAAAC;AAAA,EACA,YAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,uBAAAC,IAAwB;AAAA,EACxB,iBAAAC,IAAkB;AAAA;AAAA,EAClB,UAAAC;AACF,MAA4B;AACpB,QAAAC,IAAiB,CAACJ,MAAoB;AAC1C,YAAQA,GAAS;AAAA,MACf,KAAK;AACI,eAAA;AAAA,MACT,KAAK;AACI,eAAA;AAAA,MACT,KAAK;AACI,eAAA;AAAA,MACT,KAAK;AACI,eAAA;AAAA,MACT;AACS,eAAA;AAAA,IACX;AAAA,EAAA;AAKA,SAAAK,gBAAAA,EAAA,cAAC,OACE,MAAAH,IACEG,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAWD,EAAeJ,CAAO,EAAA,GACnCF,EAAM,IAAI,CAACQ,GAAMC,MACfF,gBAAAA,EAAA,cAAAA,EAAM,UAAN,EAAe,KAAKE,EAAA,GAClBR,EAAWO,GAAMC,CAAK,CACzB,CACD,CACH,IAEAF,gBAAAA,EAAA;AAAA,IAACG;AAAA,IAAA;AAAA,MACC,OAAAV;AAAA,MAEA,YAAY,CAACQ,GAAMC,MAAUR,EAAWO,GAAWC,CAAK;AAAA,MACxD,SAAAP;AAAA,MACA,uBAAAC;AAAA,IAAA;AAAA,EAAA,GAIHE,KACEE,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,OACb,GAAAA,gBAAAA,EAAA,cAACI,GAAK,EAAA,SAAQ,cAAa,IAAG,SAC3BN,CACH,CACF,CAEJ;AAEJ;"}
@@ -1,101 +1,59 @@
1
+ import { cva as n } from "class-variance-authority";
2
+ import p from "./index.es6.js";
3
+ import f from "./index.es26.js";
1
4
  import e from "react";
2
- import { cva as o } from "class-variance-authority";
3
- import { cn as s } from "./index.es25.js";
4
- import f from "./index.es23.js";
5
- import d from "./index.es24.js";
6
- import E from "./index.es5.js";
7
- import x from "./index.es8.js";
8
- import { Tag as g } from "./index.es17.js";
9
- import N from "./index.es14.js";
10
- import { getAdapter as b } from "./index.es9.js";
11
- import w from "./index.es13.js";
12
- const k = o(
13
- "group p-6 rounded-lg min-h-[360px] flex flex-col justify-between h-full",
14
- {
15
- variants: {
16
- variant: {
17
- default: "text-navy bg-whitish hover1:bg-navy-opacity-4 hover1:text-navy",
18
- navy: "text-whitish bg-gradient-to-b from-navy to-sapphire hover1:from-sapphire hover1:to-navy"
19
- }
20
- },
21
- defaultVariants: {
22
- variant: "default"
23
- }
24
- }
25
- ), V = o("w-full h-[1px]", {
5
+ import d from "./index.es17.js";
6
+ import h from "./index.es27.js";
7
+ import { cn as a } from "./index.es29.js";
8
+ import { getAdapter as u } from "./index.es9.js";
9
+ const l = n("rounded-lg p-6 min-h-[190px] h-full", {
26
10
  variants: {
27
11
  variant: {
28
- default: "bg-grey-1",
29
- navy: "bg-whitish-opacity-16"
12
+ default: "bg-white",
13
+ sapphire: "bg-sapphire text-whitish"
30
14
  }
31
15
  },
32
16
  defaultVariants: {
33
17
  variant: "default"
34
18
  }
35
- }), B = o("", {
19
+ }), v = n("", {
36
20
  variants: {
37
21
  variant: {
38
22
  default: "text-navy-opacity-60",
39
- navy: "text-whitish-opacity-60"
23
+ sapphire: "text-whitish-opacity-60"
40
24
  }
41
25
  },
42
26
  defaultVariants: {
43
27
  variant: "default"
44
28
  }
45
29
  }), R = ({
46
- variant: a,
47
- title: l,
30
+ title: s,
31
+ desc: m,
32
+ variant: t,
48
33
  link: r,
49
- onClick: n
34
+ detailsText: i
50
35
  }) => {
51
- const m = b("LinkWrapper"), i = /* @__PURE__ */ e.createElement(E, { variant: a, onClick: n }, l || "Подробнее");
52
- return r ? /* @__PURE__ */ e.createElement(m, { href: r }, i) : i;
53
- }, D = ({
54
- variant: a,
55
- className: l,
56
- title: r,
57
- oldPrice: n,
58
- price: m,
59
- desc: i,
60
- link: y,
61
- onClickBuyButton: u,
62
- buttons: h,
63
- tags: v,
64
- titleInformer: p
65
- }) => /* @__PURE__ */ e.createElement("div", { className: s(k({ variant: a, className: l })) }, /* @__PURE__ */ e.createElement("div", null, v && /* @__PURE__ */ e.createElement("div", { className: "flex space-x-2 mb-6" }, v.map((t, c) => /* @__PURE__ */ e.createElement(g, { key: c, variant: t.color }, t.title))), /* @__PURE__ */ e.createElement("div", { className: "space-y-12 mb-6" }, /* @__PURE__ */ e.createElement("div", { className: "space-y-4" }, /* @__PURE__ */ e.createElement("div", { className: "flex space-x-2 items-center relative" }, /* @__PURE__ */ e.createElement(
66
- x,
67
- {
68
- href: y,
69
- variant: a === "navy" ? "white" : "navy"
70
- },
71
- /* @__PURE__ */ e.createElement(f, { level: 4, as: "span" }, r)
72
- ), p && /* @__PURE__ */ e.createElement(w, { content: p })), /* @__PURE__ */ e.createElement("div", { className: "flex space-x-4 items-baseline" }, n && /* @__PURE__ */ e.createElement(
73
- d,
74
- {
75
- variant: "caption",
76
- className: "text-navy-opacity-40 line-through"
77
- },
78
- n
79
- ), /* @__PURE__ */ e.createElement(f, { level: 5, as: "div" }, m))), /* @__PURE__ */ e.createElement("div", { className: "space-y-4" }, /* @__PURE__ */ e.createElement("div", { className: s(V({ variant: a })) }), /* @__PURE__ */ e.createElement(
80
- d,
81
- {
82
- variant: "small-body",
83
- as: "div",
84
- className: s(B({ variant: a }), "content")
85
- },
86
- /* @__PURE__ */ e.createElement(N, { html: i })
87
- )))), /* @__PURE__ */ e.createElement("div", { className: "w-full gap-2 flex" }, h?.map((t, c) => /* @__PURE__ */ e.createElement(
88
- R,
89
- {
90
- key: c,
91
- variant: t.variant,
92
- title: t.title,
93
- link: t.link,
94
- onClick: () => t.isBuyButton && u?.(r)
95
- }
96
- ))));
36
+ const o = /* @__PURE__ */ e.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ e.createElement(f, { level: 4, as: "div" }, s), /* @__PURE__ */ e.createElement(h, { className: a(v({ variant: t })), as: "div" }, /* @__PURE__ */ e.createElement(d, { html: m }))), c = u("LinkWrapper");
37
+ return r ? /* @__PURE__ */ e.createElement(
38
+ c,
39
+ {
40
+ href: r,
41
+ className: a(
42
+ l({ variant: t }),
43
+ "transition-all bottom-0 hover:bottom-1 transform duration-300 relative hover:scale1-[1.005]"
44
+ )
45
+ },
46
+ /* @__PURE__ */ e.createElement("div", { className: "flex flex-col justify-between h-full items-start" }, o, i && /* @__PURE__ */ e.createElement(
47
+ p,
48
+ {
49
+ icon: "arrowRight",
50
+ variant: t == "sapphire" ? "white" : "default"
51
+ },
52
+ i || "Подробнее"
53
+ ))
54
+ ) : /* @__PURE__ */ e.createElement("div", { className: a(l({ variant: t })) }, o);
55
+ };
97
56
  export {
98
- R as RateButton,
99
- D as default
57
+ R as default
100
58
  };
101
59
  //# sourceMappingURL=index.es39.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es39.js","sources":["../src/components/cards/Rate.tsx"],"sourcesContent":["import React from 'react'\r\n\r\nimport { cva, type VariantProps } from 'class-variance-authority'\r\nimport { cn } from '@/lib/utils/cn'\r\nimport Heading from '../core/typography/Heading'\r\nimport Text from '../core/typography/Text'\r\nimport { ButtonSecondary } from '../ui/button'\r\nimport AppLink from '../ui/Link'\r\nimport { ButtonSecondaryProps } from '../ui/button/ButtonSecondary'\r\nimport { Tag, TagItemProps } from '../ui/Tag'\r\n\r\nimport SafeHtmlRenderer from '../SafeHtml'\r\nimport { getAdapter } from '@/Adapters'\r\nimport Informer from '../Informer'\r\n\r\nconst rateCardVariants = cva(\r\n 'group p-6 rounded-lg min-h-[360px] flex flex-col justify-between h-full',\r\n {\r\n variants: {\r\n variant: {\r\n default:\r\n 'text-navy bg-whitish hover1:bg-navy-opacity-4 hover1:text-navy',\r\n navy: 'text-whitish bg-gradient-to-b from-navy to-sapphire hover1:from-sapphire hover1:to-navy',\r\n },\r\n },\r\n defaultVariants: {\r\n variant: 'default',\r\n },\r\n }\r\n)\r\n\r\nconst dividerVariants = cva('w-full h-[1px]', {\r\n variants: {\r\n variant: {\r\n default: 'bg-grey-1',\r\n navy: 'bg-whitish-opacity-16',\r\n },\r\n },\r\n defaultVariants: {\r\n variant: 'default',\r\n },\r\n})\r\n\r\nconst descVariants = cva('', {\r\n variants: {\r\n variant: {\r\n default: 'text-navy-opacity-60',\r\n navy: 'text-whitish-opacity-60',\r\n },\r\n },\r\n defaultVariants: {\r\n variant: 'default',\r\n },\r\n})\r\n\r\nexport interface RateButtonProps {\r\n variant?: ButtonSecondaryProps['variant']\r\n title?: string\r\n link?: string\r\n isBuyButton?: boolean\r\n onClick?: () => void\r\n}\r\n\r\nexport const RateButton: React.FC<RateButtonProps> = ({\r\n variant,\r\n title,\r\n link,\r\n onClick,\r\n}) => {\r\n const LinkWrapper = getAdapter('LinkWrapper')\r\n\r\n const button = (\r\n <ButtonSecondary variant={variant} onClick={onClick}>\r\n {title || 'Подробнее'}\r\n </ButtonSecondary>\r\n )\r\n\r\n if (link) {\r\n return <LinkWrapper href={link}>{button}</LinkWrapper>\r\n }\r\n\r\n return button\r\n}\r\n\r\nexport interface RateCardProps\r\n extends React.HTMLAttributes<HTMLDivElement>,\r\n VariantProps<typeof rateCardVariants> {\r\n className?: string\r\n title: string\r\n oldPrice?: string\r\n price: string\r\n desc: string\r\n link: string\r\n onClickBuyButton?: (title: string) => void\r\n buttons?: RateButtonProps[]\r\n tags?: TagItemProps[]\r\n titleInformer?: string\r\n}\r\n\r\nexport interface RateCardPropsWithoutHTMLAttributes\r\n extends Omit<RateCardProps, keyof React.HTMLAttributes<HTMLDivElement>> {\r\n className?: string\r\n title: string\r\n}\r\n\r\nconst RateCard: React.FC<RateCardProps> = ({\r\n variant,\r\n className,\r\n title,\r\n oldPrice,\r\n price,\r\n desc,\r\n link,\r\n onClickBuyButton,\r\n buttons,\r\n tags,\r\n titleInformer,\r\n}) => {\r\n return (\r\n <div className={cn(rateCardVariants({ variant, className }))}>\r\n <div>\r\n {tags && (\r\n <div className=\"flex space-x-2 mb-6\">\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 <div className=\"space-y-12 mb-6\">\r\n <div className=\"space-y-4\">\r\n <div className=\"flex space-x-2 items-center relative\">\r\n <AppLink\r\n href={link}\r\n variant={variant === 'navy' ? 'white' : 'navy'}\r\n >\r\n <Heading level={4} as={'span'}>\r\n {title}\r\n </Heading>\r\n </AppLink>\r\n {titleInformer && <Informer content={titleInformer} />}\r\n </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={5} as={'div'}>\r\n {price}\r\n </Heading>\r\n </div>\r\n </div>\r\n <div className=\"space-y-4\">\r\n <div className={cn(dividerVariants({ variant }))}></div>\r\n <Text\r\n variant=\"small-body\"\r\n as=\"div\"\r\n className={cn(descVariants({ variant }), 'content')}\r\n >\r\n <SafeHtmlRenderer html={desc} />\r\n </Text>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div className=\"w-full gap-2 flex\">\r\n {buttons?.map((button, index) => (\r\n <RateButton\r\n key={index}\r\n variant={button.variant}\r\n title={button.title}\r\n link={button.link}\r\n onClick={() => button.isBuyButton && onClickBuyButton?.(title)}\r\n />\r\n ))}\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default RateCard\r\n"],"names":["rateCardVariants","cva","dividerVariants","descVariants","RateButton","variant","title","link","onClick","LinkWrapper","getAdapter","button","React","ButtonSecondary","RateCard","className","oldPrice","price","desc","onClickBuyButton","buttons","tags","titleInformer","cn","tag","index","Tag","AppLink","Heading","Informer","Text","SafeHtmlRenderer"],"mappings":"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"}
1
+ {"version":3,"file":"index.es39.js","sources":["../src/components/cards/Plate.tsx"],"sourcesContent":["import { VariantProps, cva } from 'class-variance-authority'\r\n\r\nimport { ButtonText } from '../ui/button'\r\nimport Heading from '../core/typography/Heading'\r\nimport React from 'react'\r\nimport SafeHtmlRenderer from '../SafeHtml'\r\nimport Text from '../core/typography/Text'\r\nimport { cn } from '@/lib/utils/cn'\r\nimport { getAdapter } from '@/Adapters'\r\n\r\nconst plateCardVariants = cva('rounded-lg p-6 min-h-[190px] h-full', {\r\n variants: {\r\n variant: {\r\n default: 'bg-white',\r\n sapphire: 'bg-sapphire text-whitish',\r\n },\r\n },\r\n defaultVariants: {\r\n variant: 'default',\r\n },\r\n})\r\n\r\nconst descVariants = cva('', {\r\n variants: {\r\n variant: {\r\n default: 'text-navy-opacity-60',\r\n sapphire: 'text-whitish-opacity-60',\r\n },\r\n },\r\n defaultVariants: {\r\n variant: 'default',\r\n },\r\n})\r\n\r\nexport interface PlateCardProps extends VariantProps<typeof plateCardVariants> {\r\n title: string\r\n desc: string\r\n link?: string\r\n detailsText?: string\r\n}\r\n\r\nconst PlateCard: React.FC<PlateCardProps> = ({\r\n title,\r\n desc,\r\n variant,\r\n link,\r\n detailsText,\r\n}) => {\r\n const content = (\r\n <div className=\"space-y-2\">\r\n <Heading level={4} as=\"div\">\r\n {title}\r\n </Heading>\r\n <Text className={cn(descVariants({ variant }))} as={'div'}>\r\n <SafeHtmlRenderer html={desc} />\r\n </Text>\r\n </div>\r\n )\r\n\r\n const LinkWrapper = getAdapter('LinkWrapper')\r\n\r\n return link ? (\r\n <LinkWrapper\r\n href={link}\r\n className={cn(\r\n plateCardVariants({ variant }),\r\n 'transition-all bottom-0 hover:bottom-1 transform duration-300 relative hover:scale1-[1.005]'\r\n )}\r\n >\r\n <div className=\"flex flex-col justify-between h-full items-start\">\r\n {content}\r\n {detailsText && (\r\n <ButtonText\r\n icon=\"arrowRight\"\r\n variant={variant == 'sapphire' ? 'white' : 'default'}\r\n >\r\n {detailsText || 'Подробнее'}\r\n </ButtonText>\r\n )}\r\n </div>\r\n </LinkWrapper>\r\n ) : (\r\n <div className={cn(plateCardVariants({ variant }))}>{content}</div>\r\n )\r\n}\r\n\r\nexport default PlateCard\r\n"],"names":["plateCardVariants","cva","descVariants","PlateCard","title","desc","variant","link","detailsText","content","React","Heading","Text","cn","SafeHtmlRenderer","LinkWrapper","getAdapter","ButtonText"],"mappings":";;;;;;;;AAUA,MAAMA,IAAoBC,EAAI,uCAAuC;AAAA,EACnE,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,MACT,UAAU;AAAA,IACZ;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,EACX;AACF,CAAC,GAEKC,IAAeD,EAAI,IAAI;AAAA,EAC3B,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,MACT,UAAU;AAAA,IACZ;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,EACX;AACF,CAAC,GASKE,IAAsC,CAAC;AAAA,EAC3C,OAAAC;AAAA,EACA,MAAAC;AAAA,EACA,SAAAC;AAAA,EACA,MAAAC;AAAA,EACA,aAAAC;AACF,MAAM;AACJ,QAAMC,IACJC,gBAAAA,EAAA,cAAC,OAAI,EAAA,WAAU,YACb,GAAAA,gBAAAA,EAAA,cAACC,GAAQ,EAAA,OAAO,GAAG,IAAG,MACnB,GAAAP,CACH,GACCM,gBAAAA,EAAA,cAAAE,GAAA,EAAK,WAAWC,EAAGX,EAAa,EAAE,SAAAI,EAAQ,CAAC,CAAC,GAAG,IAAI,MAAA,GACjDI,gBAAAA,EAAA,cAAAI,GAAA,EAAiB,MAAMT,EAAA,CAAM,CAChC,CACF,GAGIU,IAAcC,EAAW,aAAa;AAE5C,SAAOT,IACLG,gBAAAA,EAAA;AAAA,IAACK;AAAA,IAAA;AAAA,MACC,MAAMR;AAAA,MACN,WAAWM;AAAA,QACTb,EAAkB,EAAE,SAAAM,GAAS;AAAA,QAC7B;AAAA,MACF;AAAA,IAAA;AAAA,IAECI,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,mDAAA,GACZD,GACAD,KACCE,gBAAAA,EAAA;AAAA,MAACO;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,SAASX,KAAW,aAAa,UAAU;AAAA,MAAA;AAAA,MAE1CE,KAAe;AAAA,IAAA,CAGtB;AAAA,EACF,IAECE,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAWG,EAAGb,EAAkB,EAAE,SAAAM,EAAS,CAAA,CAAC,EAAA,GAAIG,CAAQ;AAEjE;"}
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.es25.js";
5
+ import { cn as a } from "./index.es29.js";
6
6
  const p = h(
7
7
  "bg-white text-navy hover:bg-whitish-opacity-80 cursor-pointer",
8
8
  {